void d_lockInit( d_lock lock, d_kind kind, d_objectDeinitFunc deinit) { os_mutexAttr attr; os_result osr; d_objectInit(d_object(lock), kind, d_lockDeinit); if(lock){ lock->deinit = deinit; osr = os_mutexAttrInit(&attr); if(osr == os_resultSuccess){ attr.scopeAttr = OS_SCOPE_PRIVATE; osr = os_mutexInit(&lock->lock, &attr); if(osr != os_resultSuccess){ d_objectFree(d_object(lock), kind); } } else { d_objectFree(d_object(lock), kind); } } }
void d_waitsetEntityFree( d_waitsetEntity we) { assert(d_objectIsValid(d_object(we), D_WAITSET_ENTITY) == TRUE); if(we) { d_objectFree(d_object(we), D_WAITSET_ENTITY); } }
void d_eventListenerFree( d_eventListener listener) { assert(d_objectIsValid(d_object(listener), D_EVENT_LISTENER) == TRUE); if(listener) { d_objectFree(d_object(listener), D_EVENT_LISTENER); } }
void d_publisherFree( d_publisher publisher) { assert(d_objectIsValid(d_object(publisher), D_PUBLISHER) == TRUE); if(publisher){ d_objectFree(d_object(publisher), D_PUBLISHER); } }
void d_subscriberFree( d_subscriber subscriber) { assert(d_objectIsValid(d_object(subscriber), D_SUBSCRIBER) == TRUE); if(subscriber){ d_objectFree(d_object(subscriber), D_SUBSCRIBER); } }
void d_tableFree( d_table table ) { assert(d_tableIsValid(table)); if (table) { d_objectFree(d_object(table)); } }
void d_lockFree( d_lock lock, d_kind kind) { assert(d_objectIsValid(d_object(lock), kind) == TRUE); if(lock){ d_objectFree(d_object(lock), kind); } }
static void deleteNsWalk( void* o, void* userData) { d_objectFree(d_object(o), D_NAMESPACE); }