marionnet-dev team mailing list archive
-
marionnet-dev team
-
Mailing list archive
-
Message #00433
[Branch ~marionnet-drivers/ocamlbricks/trunk] Rev 299: In SysExtra: calls to Log replaced with calls to Log.unprotected in order to prevent the signal h...
------------------------------------------------------------
revno: 299
committer: Jean-Vincent Loddo <loddo@xxxxxxxxxxxxxxxxxxxx>
branch nick: ocamlbricks
timestamp: Fri 2012-01-13 14:44:57 +0100
message:
In SysExtra: calls to Log replaced with calls to Log.unprotected in order to prevent the signal handler to lock any mutexes. Actually there is a possible perverse situation leading to a deadlock: a thread may be interrupted by a signal exactly when it was printing using the module Log, and exactly during the short critical section of the ordinary mutex used to implement the Log's recursive mutex. In this case, re-calling a Log function we turn in a deadlock. Note that this problem would not exist if recursive mutexes was primitive in OCaml.
modified:
BASE/log_builder.ml
BASE/log_builder.mli
BASE/ocamlbricks_log.mli
EXTRA/sysExtra.ml
EXTRA/sysExtra.mli
--
lp:ocamlbricks
https://code.launchpad.net/~marionnet-drivers/ocamlbricks/trunk
Your team marionnet-dev is subscribed to branch lp:ocamlbricks.
To unsubscribe from this branch go to https://code.launchpad.net/~marionnet-drivers/ocamlbricks/trunk/+edit-subscription