| GNOME Data Access 5 manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
typedef GdaMutex; GdaMutex * gda_mutex_new (void); void gda_mutex_lock (GdaMutex *mutex); gboolean gda_mutex_trylock (GdaMutex *mutex); void gda_mutex_unlock (GdaMutex *mutex); void gda_mutex_free (GdaMutex *mutex);
GdaMutex implements a recursive mutex (unlike the GMutex implementation which offers no guarantee about recursiveness). A recursive mutex is a mutex which can be locked several times by the same thread (and needs to be unlocked the same number of times before another thread can lock it).
A GdaMutex can safely be used even in a non multi-threaded environment in which case it does nothing.
GdaMutex * gda_mutex_new (void);
gda_mutex_new has been deprecated since version 5.2.0 and should not be used in newly-written code. use GRecMutex instead.
Creates a new GdaMutex.
Note: Unlike g_mutex_new(), this function will return NULL if g_thread_init() has not been called yet.
Returns : |
a new GdaMutex. [transfer full] |
void gda_mutex_lock (GdaMutex *mutex);
gda_mutex_lock has been deprecated since version 5.2.0 and should not be used in newly-written code. use GRecMutex instead.
Locks mutex. If mutex is already locked by another thread, the current thread will block until mutex is unlocked by the other thread.
This function can be used even if g_thread_init() has not yet been called, and, in that case, will do nothing.
Note: unlike g_mutex_lock(), the GdaMutex is recursive, which means a thread can lock it several times (and has
to unlock it as many times to actually unlock it).
|
a GdaMutex |
gboolean gda_mutex_trylock (GdaMutex *mutex);
gda_mutex_trylock has been deprecated since version 5.2.0 and should not be used in newly-written code. use GRecMutex instead.
Tries to lock mutex. If mutex is already locked by another thread, it immediately returns FALSE.
Otherwise it locks mutex and returns TRUE
This function can be used even if g_thread_init() has not yet been called, and, in that case, will immediately return TRUE.
Note: Unlike g_mutex_trylock(), the GdaMutex is recursive, which means a thread can lock it several times (and has
to unlock it as many times to actually unlock it)
|
a GdaMutex |
Returns : |
TRUE, if mutex could be locked. |
void gda_mutex_unlock (GdaMutex *mutex);
gda_mutex_unlock has been deprecated since version 5.2.0 and should not be used in newly-written code. use GRecMutex instead.
Unlocks mutex. If another thread is blocked in a gda_mutex_lock() call for mutex, it wil
be woken and can lock mutex itself.
This function can be used even if g_thread_init() has not yet been called, and, in that case, will do nothing.
|
a GdaMutex |
void gda_mutex_free (GdaMutex *mutex);
gda_mutex_free has been deprecated since version 5.2.0 and should not be used in newly-written code. use GRecMutex instead.
Destroys mutex.
|
a GdaMutex. [transfer full] |