let source_view = script#source_view in
let thread_main =
fun () ->
- ignore (Thread.sigmask Unix.SIG_UNBLOCK [Sys.sigint]);
ignore (Thread.sigmask Unix.SIG_UNBLOCK [Sys.sigvtalrm]);
lock_world ();
let saved_use_library= !MultiPassDisambiguator.use_library in
let force_interrupt n =
(* This function is called every 1s (see Unix.setitimer call above) *)
!old_callback n;
+ (* it may be a masked interrupt for the previous thread that arrives
+ late *)
if Some(Thread.id(Thread.self())) = !interrupt then
(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 (Thread.sigmask Unix.SIG_BLOCK [Sys.sigvtalrm]);
ignore (Unix.setitimer Unix.ITIMER_VIRTUAL {Unix.it_interval = 1.; it_value = 1.});
let _ =
match Sys.signal Sys.sigvtalrm (Sys.Signal_handle force_interrupt) with
ignore (adj#connect#changed
(fun _ -> adj#set_value (adj#upper -. adj#page_size)));
console#message (sprintf "\tMatita version %s\n" BuildTimeConf.version);
+ console#message (sprintf "\tStandard library location:\n\t %s\n" BuildTimeConf.new_stdlib_dir_devel);
(* natural deduction palette *)
main#tacticsButtonsHandlebox#misc#hide ();
MatitaGtkMisc.toggle_callback