+ (interrupt := None; raise Sys.Break)
+ else if !interrupt <> None then
+ (* Code executed in the non-worker thread; delay it to let the
+ worker thread catch the signal *)
+ Thread.delay 3.;
+ in
+ ignore (Unix.setitimer Unix.ITIMER_VIRTUAL {Unix.it_interval = 1.; it_value = 1.});