blob: 2ace3849c32f5faaec7eb6037ded37efeb64c3bb (
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
|
(* 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
|