+ * This mutex guarantees that only one thread writes to the trace file
+ * at one given instance.
+ *
+ * We need a recursive mutex so that we dont't dead lock in the event
+ * of a segfault happens while the mutex is held.
+ *
+ * To prevent deadlocks, the call for the real function (the one being
+ * traced) should not be done with the mutex held. That is, it should
+ * be done outside the beginEnter/endEnter and beginLeave/endLeave
+ * pairs. Preferably between these two pairs.