Function

Gdkthreads_set_lock_functions

Declaration [src]

void
gdk_threads_set_lock_functions (
  GCallback enter_fn,
  GCallback leave_fn
)

Description [src]

Allows the application to replace the standard method that GDK uses to protect its data structures. Normally, GDK creates a single GMutex that is locked by gdk_threads_enter(), and released by gdk_threads_leave(); using this function an application provides, instead, a function enter_fn that is called by gdk_threads_enter() and a function leave_fn that is called by gdk_threads_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 GTK+ lock as well. When GTK+ unlocks the GTK+ lock when entering a recursive main loop, the application must temporarily release its lock as well.

Most threaded GTK+ apps won’t need to use this method.

This method must be called before gdk_threads_init(), and cannot be called multiple times.

Available since:2.4
Deprecated since:3.6

All GDK and GTK+ calls should be made from the main thread.

Parameters

enter_fn GCallback
 

Function called to guard GDK.

leave_fn GCallback
 

Function called to release the guard.