Allows the application to replace the standard method that Clutter uses to protect its data structures.
Normally, Clutter creates a single Mutex that is locked by
enter, and released by leave
; using this function an application provides, instead, a function enter_fn
that is called by
enter and a function leave_fn
that is called by
leave.
The functions must provide at least same locking functionality as the default implementation, but can also do extra application specific processing.
As an example, consider an application that has its own recursive lock that when held, holds the Clutter lock as well. When Clutter unlocks the Clutter lock when entering a recursive main loop, the application must temporarily release its lock as well.
Most threaded Clutter apps won't need to use this method.
This method must be called before init, and cannot be called multiple times.
enter_fn |
function called when aquiring the Clutter main lock |
leave_fn |
function called when releasing the Clutter main lock |