File tree 2 files changed +28
-0
lines changed
2 files changed +28
-0
lines changed Original file line number Diff line number Diff line change 284
284
285
285
# See https://gitlab.haskell.org/ghc/ghc/-/merge_requests/12586
286
286
++ onWindows ( fromUntil "9.6.6" "9.12" ./patches/ghc/ghc-win32-io-manager-compilation.patch )
287
+
288
+ ++ from "9.8.4" ./patches/ghc/ghc-9.8-threaded-rts-timer.patch
287
289
;
288
290
in ( {
289
291
ghc8107 = traceWarnOld "8.10" ( final . callPackage ../compiler/ghc {
Original file line number Diff line number Diff line change
1
+ diff --git a/rts/posix/Ticker.c b/rts/posix/Ticker.c
2
+ index 18bf1179dd..9ecfb1ff97 100644
3
+ --- a/rts/posix/Ticker.c
4
+ +++ b/rts/posix/Ticker.c
5
+ @@ -62,7 +62,7 @@
6
+ #endif
7
+
8
+ /*
9
+ - * On Linux we can use timerfd_* (introduced in Linux
10
+ + * On Linux in the threaded RTS we can use timerfd_* (introduced in Linux
11
+ * 2.6.25) and a thread instead of alarm signals. It avoids the risk of
12
+ * interrupting syscalls (see #10840) and the risk of being accidentally
13
+ * modified in user code using signals. NetBSD has also added timerfd
14
+ @@ -71,11 +71,11 @@
15
+ * For older version of linux/netbsd without timerfd we fall back to the
16
+ * pthread based implementation.
17
+ */
18
+ - #if defined(HAVE_SYS_TIMERFD_H)
19
+ + #if defined(HAVE_SYS_TIMERFD_H) && defined(THREADED_RTS)
20
+ #define USE_TIMERFD_FOR_ITIMER
21
+ #endif
22
+
23
+ - #if defined(linux_HOST_OS)
24
+ + #if defined(linux_HOST_OS) && defined(THREADED_RTS)
25
+ #define USE_PTHREAD_FOR_ITIMER
26
+ #endif
You can’t perform that action at this time.
0 commit comments