diff options
author | letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2011-04-21 22:44:10 +0000 |
---|---|---|
committer | letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2011-04-21 22:44:10 +0000 |
commit | 1b04c124152c47a664f2bee961e27293b1e2b2df (patch) | |
tree | 72bb426dfcde111b2b7ae129d819b0487bd14ad4 /ide/coq.mli | |
parent | 35de47646ff70782003dec969bfd4d7e3f9c2ac2 (diff) |
Coqlib: avoid deadlock under win32 with force_reset_initial
The force_reset_initial starts by killing coqtop, then it tries
to acquire the lock on coq_computing. If it works, no jobs are
pending, we do the real reset_initial (launch of a new coqtop +
removal of buffer coloring) ourself.
Otherwise, the function do_if_not_computing is running, the death
of coqtop will raise a RestartCoqtop exception there, triggering
a reset_initial.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@14049 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'ide/coq.mli')
-rw-r--r-- | ide/coq.mli | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/ide/coq.mli b/ide/coq.mli index a9c41de62..cef5d4246 100644 --- a/ide/coq.mli +++ b/ide/coq.mli @@ -34,11 +34,9 @@ val coqtop_zombies : unit -> int (** * Starting / signaling / ending a real coqtop sub-process *) val spawn_coqtop : string list -> coqtop +val respawn_coqtop : coqtop -> coqtop val kill_coqtop : coqtop -> unit val break_coqtop : coqtop -> unit -val reset_coqtop : coqtop -> coqtop - -val process_exn : exn -> Ide_intf.location * string (** In win32, we'll use a different kill function than Unix.kill *) |