summaryrefslogtreecommitdiff
path: root/src/wsbm_fencemgr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/wsbm_fencemgr.c')
-rw-r--r--src/wsbm_fencemgr.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/wsbm_fencemgr.c b/src/wsbm_fencemgr.c
index 047eb81..03b255c 100644
--- a/src/wsbm_fencemgr.c
+++ b/src/wsbm_fencemgr.c
@@ -294,8 +294,9 @@ wsbmFenceReference(struct _WsbmFenceObject *fence)
}
struct _WsbmFenceObject *
-wsbmFenceCreate(struct _WsbmFenceMgr *mgr, uint32_t fence_class,
- uint32_t fence_type, void *private, size_t private_size)
+wsbmFenceCreateSig(struct _WsbmFenceMgr *mgr, uint32_t fence_class,
+ uint32_t fence_type, uint32_t signaled_types,
+ void *private, size_t private_size)
{
struct _WsbmFenceClass *fc = &mgr->classes[fence_class];
struct _WsbmFenceObject *fence;
@@ -313,7 +314,7 @@ wsbmFenceCreate(struct _WsbmFenceMgr *mgr, uint32_t fence_class,
fence->mgr = mgr;
fence->fence_class = fence_class;
fence->fence_type = fence_type;
- wsbmAtomicSet(&fence->signaled_types, 0);
+ wsbmAtomicSet(&fence->signaled_types, signaled_types);
fence->private = private;
if (private_size) {
fence->private = (void *)(((uint8_t *) fence) + fence_size);
@@ -340,6 +341,14 @@ wsbmFenceCreate(struct _WsbmFenceMgr *mgr, uint32_t fence_class,
return NULL;
}
+struct _WsbmFenceObject *
+wsbmFenceCreate(struct _WsbmFenceMgr *mgr, uint32_t fence_class,
+ uint32_t fence_type, void *private, size_t private_size)
+{
+ return wsbmFenceCreateSig(mgr, fence_class, fence_type, 0, private,
+ private_size);
+}
+
struct _WsbmTTMFenceMgrPriv
{
int fd;