X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2FmatitamakeLib.ml;h=0ab251ddc5d3c5784f2a296550e767f5f4219dc1;hb=dfbd010fe5a46d049849913bc23000289893ea4f;hp=4544f9ada5c6f99ebeb23131609b1103d433f584;hpb=89758b00226ddab59559f144cceeb58f1594b53a;p=helm.git diff --git a/matita/matitamakeLib.ml b/matita/matitamakeLib.ml index 4544f9ada..0ab251ddc 100644 --- a/matita/matitamakeLib.ml +++ b/matita/matitamakeLib.ml @@ -193,11 +193,7 @@ let call_make ?matita_flags development target make = let csc = try ["SRC=" ^ Sys.getenv "SRC"] with Not_found -> [] in rebuild_makefile development; let makefile = makefile_for_development development in - let nodb = - Helm_registry.get_opt_default Helm_registry.bool ~default:false "db.nodb" - in let flags = [] in - let flags = flags @ if nodb then ["NODB=true"] else [] in let flags = try flags @ [ sprintf "MATITA_FLAGS=\"%s\"" matita_flags ] @@ -247,7 +243,7 @@ let mk_maker refresh_cb = let out_r,out_w = Unix.pipe () in let err_r,err_w = Unix.pipe () in let pid = ref ~-1 in - ignore(Sys.signal Sys.sigchld (Sys.Signal_ignore)); + let oldhandler = Sys.signal Sys.sigchld (Sys.Signal_ignore) in try (* prerr_endline (String.concat " " args); *) let argv = Array.of_list ("make"::args) in @@ -271,10 +267,13 @@ let mk_maker refresh_cb = aux r; refresh_cb () done; + ignore(Sys.signal Sys.sigchld oldhandler); true with | Unix.Unix_error (_,"read",_) - | Unix.Unix_error (_,"select",_) -> true) + | Unix.Unix_error (_,"select",_) -> + ignore(Sys.signal Sys.sigchld oldhandler); + true) let build_development_in_bg ?matita_flags ?(target="all") refresh_cb development = call_make ?matita_flags development target (mk_maker refresh_cb)