summaryrefslogtreecommitdiff
path: root/libs/pbd/pbd
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-04-22 23:00:53 +0200
committerRobin Gareus <robin@gareus.org>2017-04-22 23:06:22 +0200
commit9c0ba3b3d53027f5c7c25341529562d41694ef2e (patch)
treef3fc1485bf84c2e8a556cc30f168e776ce4034e0 /libs/pbd/pbd
parent629e6cbefb8ec2f3fa158879b9720433aaf3e8fd (diff)
Add mechanism to reset/lock semaphores
Diffstat (limited to 'libs/pbd/pbd')
-rw-r--r--libs/pbd/pbd/semutils.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/libs/pbd/pbd/semutils.h b/libs/pbd/pbd/semutils.h
index 6c661ab499..e81e33e533 100644
--- a/libs/pbd/pbd/semutils.h
+++ b/libs/pbd/pbd/semutils.h
@@ -55,10 +55,12 @@ class LIBPBD_API Semaphore {
int signal ();
int wait ();
+ int reset ();
#else
int signal () { return sem_post (ptr_to_sem()); }
int wait () { return sem_wait (ptr_to_sem()); }
+ int reset () { int rv = 0 ; while (sem_trywait (ptr_to_sem()) == 0) ++rv; return rv; }
#endif
};