这篇教程C++ DeleteLock函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中DeleteLock函数的典型用法代码示例。如果您正苦于以下问题:C++ DeleteLock函数的具体用法?C++ DeleteLock怎么用?C++ DeleteLock使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了DeleteLock函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: mainintmain(){ int lock3,mv3,cv3; lock3 = CreateLock("lock3",5); cv3 = CreateCV("cv3",3); mv3 = CreateMV("mv3",3,5); WriteToConsole("/nAcquiring lock3 in rpcclient5/n/0", -1, -1, -1); if((Acquire("lock3",5)) == -1){ WriteToConsole("Error acquiring lock3 in rpcclient5/n/0",-1,-1,-1); Exit(0); } if((Wait("cv3",3, "lock3",5)) == -1){ WriteToConsole("Error waiting on cv3 and lock3 in rpcClient1/n/0",-1,-1,-1); Exit(0); } WriteToConsole("/nGot Signal on cv3 lock3 from rpcClient1/n/0", -1, -1, -1); WriteToConsole("/nValue of mv3 index 3 set by rpcClient1 is %d/n/0", GetMV("mv3",3,3), -1, -1); Release("lock3",5); DeleteLock("lock3",5); WriteToConsole(" Deleted Lock3/n/0",-1,-1,-1); DeleteMV("mv3",3); WriteToConsole(" Deleted MV3/n/0",-1,-1,-1); DeleteCV("cv3",3); WriteToConsole(" Deleted CV3/n/0",-1,-1,-1); Exit(0);}
开发者ID:aprabhudesai,项目名称:OperatingSystems,代码行数:33,
示例2: NiFreeNat// Release the NATvoid NiFreeNat(NAT *n){ // Validate arguments if (n == NULL) { return; } // Complete management command //NiFreeAdminAccept(n); // Stop if the virtual host is running Lock(n->lock); { if (n->Virtual != NULL) { StopVirtualHost(n->Virtual); ReleaseVirtual(n->Virtual); n->Virtual = NULL; } } Unlock(n->lock); // Release the settings NiFreeConfig(n); // Delete the object ReleaseCedar(n->Cedar); ReleaseEvent(n->HaltEvent); DeleteLock(n->lock); Free(n);}
开发者ID:benapetr,项目名称:SoftEtherVPN,代码行数:34,
示例3: finish_segmgr/* * End segment manager */EXPORT ER finish_segmgr( void ){ ER ercd, ret = E_OK; /* Finish system exception manager */ ercd = finish_excmgr(); if ( ercd < E_OK ) { ret = ercd; } /* Delete subsystem registration */ ercd = tk_def_ssy(SEG_SVC, NULL); if ( ercd < E_OK ) { ret = ercd; } /* Remove segment manager lock */ DeleteLock(&SegLock);#ifdef DEBUG if ( ret < E_OK ) { TM_DEBUG_PRINT(("finish_segmgr ercd = %d/n", ret)); }#endif return ret;}
开发者ID:Ninals-GitHub,项目名称:TRON,代码行数:29,
示例4: FOREACH_FIRSTvoid ShardLockManager::OnRemoveCachedLocks(){ uint64_t now; ShardLock* lock; now = EventLoop::Now(); FOREACH_FIRST(lock, lockCacheList) { // should be unlocked ASSERT(!lock->locked); // session should be NULL ASSERT(lock->session == NULL); // not in lock expiry list ASSERT(lock->listExpiryNode.next == lock); // not in lock pool list ASSERT(lock->listPoolNode.next == lock); // in tree ASSERT(lock->treeNode.IsInTree()); if (lock->unlockTime < now || lockCacheList.GetLength() > maxCacheCount) { lockTree.Remove(lock); lockCacheList.Remove(lock); DeleteLock(lock); } else break; }
开发者ID:scalien,项目名称:scaliendb,代码行数:29,
示例5: CleanupL3Sw// Clean-up the L3 switchvoid CleanupL3Sw(L3SW *s){ UINT i; // Validate arguments if (s == NULL) { return; } for (i = 0;i < LIST_NUM(s->IfList);i++) { L3IF *f = LIST_DATA(s->IfList, i); Free(f); } ReleaseList(s->IfList); for (i = 0;i < LIST_NUM(s->TableList);i++) { L3TABLE *t = LIST_DATA(s->TableList, i); Free(t); } ReleaseList(s->TableList); DeleteLock(s->lock); Free(s);}
开发者ID:BIGbozi,项目名称:SoftEtherVPN,代码行数:27,
示例6: CleanupUser// Cleanup the user object void CleanupUser(USER *u){ // Validate arguments if (u == NULL) { return; } DeleteLock(u->lock); Free(u->Name); Free(u->RealName); Free(u->Note); Free(u->GroupName); if (u->Group != NULL) { ReleaseGroup(u->Group); } // Free authntication data FreeAuthData(u->AuthType, u->AuthData); if (u->Policy) { // Free policy data Free(u->Policy); } FreeTraffic(u->Traffic); Free(u);}
开发者ID:AlexeyBychkov,项目名称:SoftEtherVPN,代码行数:32,
示例7: FreeDynamicListener// Release the dynamic listenervoid FreeDynamicListener(DYNAMIC_LISTENER *d){ // Validate arguments if (d == NULL) { return; } Lock(d->Lock); { if (d->Listener != NULL) { StopListener(d->Listener); ReleaseListener(d->Listener); d->Listener = NULL; } } Unlock(d->Lock); ReleaseCedar(d->Cedar); DeleteLock(d->Lock); Free(d);}
开发者ID:1nv4d3r5,项目名称:SoftEtherVPN,代码行数:26,
示例8: mainvoid main(){ int lck1,cv1; Print("/nTC1_1 :: Checking Correct Working of Creating & Deleting of Locks and CV./n",1,1,1); lck1 = CreateLock("lock1", 5); Print("/nTC1_1 :: Lock name 'lock1' Created. The Index is '%d'./n",lck1,1,1); cv1 = CreateCV("cv1", 3); Print("/nTC1_1 :: CV name 'cv1' Created. The Index is '%d'./n",cv1,1,1); Acquire(lck1); Print("/nTC1_1 :: Going on wait on 'cv1' using 'lock1'. Now run the 'tc1_2' file./n",1,1,1); Wait(cv1,lck1); Print("/nTC1_1 :: Have been signalled on 'cv1' using 'lock1'./n",1,1,1); Release(lck1); DeleteCV(cv1); DeleteLock(lck1); Print("/nTC1_1 :: Reached end./n",lck1,1,1); Exit(0);}
开发者ID:rmayur,项目名称:nachos-project-4-submitted,代码行数:27,
示例9: FreeTick64// Release of the Tick64void FreeTick64(){ UINT i; if (tk64 == NULL) { // Uninitialized return; } // Termination process tk64->Halt = true; Set(halt_tick_event); WaitThread(tk64->Thread, INFINITE); ReleaseThread(tk64->Thread); // Releasing process for (i = 0;i < LIST_NUM(tk64->AdjustTime);i++) { ADJUST_TIME *t = LIST_DATA(tk64->AdjustTime, i); Free(t); } ReleaseList(tk64->AdjustTime); DeleteLock(tk64->TickLock); Free(tk64); tk64 = NULL; ReleaseEvent(halt_tick_event); halt_tick_event = NULL;}
开发者ID:13eatrice,项目名称:SoftEtherVPN,代码行数:30,
示例10: mainvoid main(){ int lck1,cv1; Print("/nTC1_2 :: Checking Correct Working of Creating & Deleting of Locks and CV./n",1,1,1); lck1 = CreateLock("lock1", 5); Print("/nTC1_2 :: Lock name 'lock1' Created. The Index is '%d'./n",lck1,1,1); cv1 = CreateCV("cv1", 3); Print("/nTC1_2 :: CV name 'cv1' Created. The Index is '%d'./n",cv1,1,1); Acquire(lck1); Print("/nTC1_2 :: Going to signal on 'cv1'. The waiter on 'cv1' will be woken up./n",1,1,1); Signal(cv1,lck1); Release(lck1); DeleteCV(cv1); DeleteLock(lck1); Print("/nTC1_2 :: Reached end./n",lck1,1,1); Exit(0);}
开发者ID:rmayur,项目名称:nachos-project-4-submitted,代码行数:27,
示例11: CloseSec// Close the secure devicevoid CloseSec(SECURE *sec){ // Validate arguments if (sec == NULL) { return; } // Log out LogoutSec(sec); // Close the session CloseSecSession(sec); // Release the token information FreeSecInfo(sec); // Release of the slot list memory if (sec->SlotIdList != NULL) { Free(sec->SlotIdList); sec->SlotIdList = NULL; } // Unload the module FreeSecModule(sec); // Memory release DeleteLock(sec->lock); Free(sec);}
开发者ID:13eatrice,项目名称:SoftEtherVPN,代码行数:32,
示例12: mainvoid main(){ int lck1,cv1=-1,lck2; Print("/nTC5_1 :: Checking Working of Wait and Signal. /n",1,1,1); lck1 = CreateLock("lock1", 5); Print("/nTC5_1 :: Lock name 'lock1' Created. The Index is '%d'./n",lck1,1,1); Acquire(lck1); Print("/nTC5_1 :: Going on wait on 'cv1' that is not created using 'lock1'. Will not go on wait./n",1,1,1); Wait(cv1,lck1); Print("/nERROR - TC5_1 :: Could not go on wait on 'cv1' using 'lock1'./n",1,1,1); cv1 = CreateCV("cv1", 3); Print("/nTC5_1 :: CV name 'cv1' Created. The Index is '%d'./n",cv1,1,1); Print("/nTC5_1 :: Going on wait on 'cv1' that is now created using 'lock1'. Now run the 'tc5_2' file./n",1,1,1); Wait(cv1,lck1); Print("/nTC5_1 :: Have been signalled on 'cv1' using 'lock1'./n",1,1,1); Release(lck1); DeleteCV(cv1); DeleteLock(lck1); Print("/nTC5_1 :: Reached end./n",lck1,1,1); Exit(0);}
开发者ID:rmayur,项目名称:nachos-project-4-submitted,代码行数:31,
示例13: mainvoid main(){ int lck1,cv1,lck2; Print("/nTC6_1 :: Checking Working of Wait and Signal. /n",1,1,1); lck1 = CreateLock("lock1", 5); Print("/nTC6_1 :: Lock name 'lock1' Created. The Index is '%d'./n",lck1,1,1); cv1 = CreateCV("cv1", 3); Print("/nTC6_1 :: CV name 'cv1' Created. The Index is '%d'./n",cv1,1,1); Acquire(lck1); Print("/nTC6_1 :: Going on wait on 'cv1' using 'lock1' that is the correct lock (First Waiter). Will go on wait. Now run the 'tc6_2' file. /n",1,1,1); Wait(cv1,lck1); Print("/nTC6_1 :: Have been Signalled on 'cv1' using 'lock2'./n",1,1,1); Release(lck1); DeleteCV(cv1); DeleteLock(lck1); Print("/nTC6_1 :: Reached end./n",lck1,1,1); Exit(0);}
开发者ID:rmayur,项目名称:nachos-project-4-submitted,代码行数:27,
|