blob: a58fedacd30b69b98f4e1df7c6f79f1e3f708f8e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
(* TEST
include unix;
libunix;
{
bytecode;
}{
native;
}
*)
let () =
let r = ref false in
Sys.set_signal Sys.sigint (Signal_handle (fun _ -> r := true));
Unix.kill (Unix.getpid ()) Sys.sigint;
let x = !r in
Printf.printf "%b " x;
Printf.printf "%b\n" !r
let () =
let r = ref false in
let _ = Unix.sigprocmask SIG_BLOCK [Sys.sigint] in
Sys.set_signal Sys.sigint (Signal_handle (fun _ -> r := true));
Unix.kill (Unix.getpid ()) Sys.sigint;
Gc.full_major ();
let a = !r in
let _ = Unix.sigprocmask SIG_UNBLOCK [Sys.sigint] in
let b = !r in
Printf.printf "%b %b " a b;
Printf.printf "%b\n" !r
|