diff options
Diffstat (limited to 'src/wsbm_fencemgr.c')
-rw-r--r-- | src/wsbm_fencemgr.c | 15 |
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; |