X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=glib%2Fgthread-posix.c;h=c4fd6f2cbf71a719c56e20bbb672007a37d28032;hb=3d4102776e59e748ee8b6e4d456a06a33593f308;hp=76697f23878a9fba9afd3fe45b0e1c8a27454463;hpb=42af8eb39d2744af68a470bcd9f7aae3c8f43602;p=platform%2Fupstream%2Fglib.git diff --git a/glib/gthread-posix.c b/glib/gthread-posix.c index 76697f2..c4fd6f2 100644 --- a/glib/gthread-posix.c +++ b/glib/gthread-posix.c @@ -197,6 +197,56 @@ g_mutex_trylock (GMutex *mutex) return FALSE; } +/* {{{1 GRWLock */ + +void +g_rw_lock_init (GRWLock *lock) +{ + pthread_rwlock_init (&lock->impl, NULL); +} + +void +g_rw_lock_clear (GRWLock *lock) +{ + pthread_rwlock_destroy (&lock->impl); +} + +void +g_rw_lock_writer_lock (GRWLock *lock) +{ + pthread_rwlock_wrlock (&lock->impl); +} + +gboolean +g_rw_lock_writer_trylock (GRWLock *lock) +{ + return pthread_rwlock_trywrlock (&lock->impl); +} + +void +g_rw_lock_writer_unlock (GRWLock *lock) +{ + pthread_rwlock_unlock (&lock->impl); +} + +void +g_rw_lock_reader_lock (GRWLock *lock) +{ + pthread_rwlock_rdlock (&lock->impl); +} + +gboolean +g_rw_lock_reader_trylock (GRWLock *lock) +{ + return pthread_rwlock_tryrdlock (&lock->impl); +} + +void +g_rw_lock_reader_unlock (GRWLock *lock) +{ + pthread_rwlock_unlock (&lock->impl); +} + /* {{{1 GCond */ /**