summaryrefslogtreecommitdiffstats
path: root/src/usr/testcore/lib/synctest.H
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/testcore/lib/synctest.H')
-rw-r--r--src/usr/testcore/lib/synctest.H15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/usr/testcore/lib/synctest.H b/src/usr/testcore/lib/synctest.H
index 5a53d2e0a..8e7619d11 100644
--- a/src/usr/testcore/lib/synctest.H
+++ b/src/usr/testcore/lib/synctest.H
@@ -9,6 +9,7 @@
#include <cxxtest/TestSuite.H>
#include <sys/sync.h>
#include <sys/task.h>
+#include <sys/time.h>
class SyncTest: public CxxTest::TestSuite
{
@@ -30,6 +31,20 @@ class SyncTest: public CxxTest::TestSuite
TS_TRACE("ALL THREADS ENDED");
}
+ void testMutexDoubleWait()
+ {
+ mutex_init(&mutex);
+ barrier_init(&barrier, 3);
+
+ mutex_lock(&mutex);
+ task_create(func2, this);
+ task_create(func2, this);
+ nanosleep(1,0);
+ mutex_unlock(&mutex);
+ barrier_wait(&barrier);
+ TS_TRACE("ALL THREADS ENDED");
+ }
+
void testBarrier()
{
barrier_t barrier;
OpenPOWER on IntegriCloud