这篇教程C++ DeleteCriticalSection函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中DeleteCriticalSection函数的典型用法代码示例。如果您正苦于以下问题:C++ DeleteCriticalSection函数的具体用法?C++ DeleteCriticalSection怎么用?C++ DeleteCriticalSection使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了DeleteCriticalSection函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: DeleteCriticalSectionCCritSection::~CCritSection(){ DeleteCriticalSection(&m_CS);}
开发者ID:ddavison,项目名称:Jaangle,代码行数:4,
示例2: UninitializeCNdasServiceDeviceEventHandler::~CNdasServiceDeviceEventHandler(){ Uninitialize(); DeleteCriticalSection(&m_DevNotifyMapSection);}
开发者ID:tigtigtig,项目名称:ndas4windows,代码行数:5,
示例3: pthread_mutex_destroyint pthread_mutex_destroy(pthread_mutex_t *mutex){ DeleteCriticalSection((_pthread_mutex_t *) mutex); return 0;}
开发者ID:Abyss116,项目名称:luaplus51-all,代码行数:5,
示例4: vlc_mutex_destroyvoid vlc_mutex_destroy (vlc_mutex_t *p_mutex){ assert (p_mutex->dynamic); DeleteCriticalSection (&p_mutex->mutex);}
开发者ID:BossKing,项目名称:vlc,代码行数:5,
示例5: DeleteCriticalSectionMutexCS::~MutexCS(){ DeleteCriticalSection(&m_criticalSection);}
开发者ID:Jonnyliu,项目名称:lochsemu,代码行数:4,
示例6: DECLINLINEDECLINLINE(int) RTCritSectDelete(PCRITICAL_SECTION pCritSect){ DeleteCriticalSection(pCritSect); return VINF_SUCCESS;}
开发者ID:svn2github,项目名称:virtualbox,代码行数:5,
示例7: wan//.........这里部分代码省略......... if ( SetBoolInBlob(hFilterBlob, OWNER_NPP, CATEGORY_CONFIG, TAG_INTERFACE_REALTIME_CAPTURE, TRUE) != NMERR_SUCCESS ) { DestroyBlob( hFilterBlob); goto error; } if ( SetBoolInBlob(hFilterBlob, OWNER_NPP, CATEGORY_LOCATION, TAG_RAS, TRUE) != NMERR_SUCCESS ) { DestroyBlob( hFilterBlob); goto error; } if ( GetNPPBlobTable(hFilterBlob, &pBlobTable) != NMERR_SUCCESS ) { DestroyBlob( hFilterBlob); goto error; } DestroyBlob (hFilterBlob); if ( pBlobTable->dwNumBlobs == 0 || pBlobTable->dwNumBlobs > 1) { ///fixme..... for ( i = 0 ; i < pBlobTable->dwNumBlobs ; i++ ) DestroyBlob(pBlobTable->hBlobs[i]); GlobalFree(pBlobTable); goto error; } pWanAdapter->hCaptureBlob = pBlobTable->hBlobs[0]; GlobalFree(pBlobTable); InitializeCriticalSection(&pWanAdapter->CriticalSection); pWanAdapter->hReadEvent = CreateEvent(NULL, TRUE, FALSE, NULL); if ( pWanAdapter->hReadEvent == NULL ) goto error;#ifdef HAVE_BUGGY_TME_SUPPORT pWanAdapter->MemEx.buffer = (PUCHAR)GlobalAlloc(GPTR, DEFAULT_MEM_EX_SIZE); if (pWanAdapter->MemEx.buffer == NULL) goto error; pWanAdapter->MemEx.size = DEFAULT_MEM_EX_SIZE; pWanAdapter->Tme.active = TME_NONE_ACTIVE;#endif //HAVE_BUGGY_TME_SUPPORT if (CreateNPPInterface(pWanAdapter->hCaptureBlob, IID_IRTC, (void**) &pWanAdapter->pIRTC) == NMERR_SUCCESS && pWanAdapter->pIRTC != NULL) { //create OK if (pWanAdapter->pIRTC->Connect(pWanAdapter->hCaptureBlob, NULL, WanPacketReceiverCallback, (LPVOID)pWanAdapter , NULL) == NMERR_SUCCESS) { //connect OK if (pWanAdapter->pIRTC->Start() == NMERR_SUCCESS) { return pWanAdapter; } else { pWanAdapter->pIRTC->Disconnect(); pWanAdapter->pIRTC->Release(); goto error; } } else { pWanAdapter->pIRTC->Release(); goto error; } } else { goto error; } //awfully never reached// return NULL;error: if (pWanAdapter != NULL) { if (pWanAdapter->hReadEvent != NULL) CloseHandle(pWanAdapter->hReadEvent); DeleteCriticalSection(&pWanAdapter->CriticalSection); if (pWanAdapter->hCaptureBlob) DestroyBlob(pWanAdapter->hCaptureBlob); GlobalFree(pWanAdapter); } CoUninitialize(); return NULL;}
开发者ID:OPEXGroup,项目名称:winpcap,代码行数:101,
示例8: DeleteCriticalSectionMutexImpl::~MutexImpl(){ DeleteCriticalSection(&_cs);}
开发者ID:Bing4Autodesk,项目名称:CEF3,代码行数:4,
示例9: DeleteCriticalSectionCriticalSection::~CriticalSection() noexcept { DeleteCriticalSection ((CRITICAL_SECTION*) lock); }
开发者ID:Ixox,项目名称:preenfm2Controller,代码行数:1,
示例10: DeleteCriticalSectionCVideoProcessor::~CVideoProcessor(){ DeleteCriticalSection(&m_csLock);}
开发者ID:jscr93,项目名称:PDI2015B,代码行数:4,
示例11: DeleteCriticalSection _PPLXIMP critical_section_impl::~critical_section_impl() { DeleteCriticalSection(reinterpret_cast<LPCRITICAL_SECTION>(&_M_impl)); }
开发者ID:EvanCui,项目名称:cpprestsdk,代码行数:4,
示例12: Clear ~AbortCookieManager() { Clear(); DeleteCriticalSection(&cookieAccess); }
开发者ID:codepongo,项目名称:sumatrapdf,代码行数:4,
示例13: FreeDataPlayer::~Player(){ FreeData(); DeleteCriticalSection(&cs);}
开发者ID:BackupTheBerlios,项目名称:mgoodies-svn,代码行数:5,
示例14: CloseDevice//关闭线程,释放资源CWavePlay::~CWavePlay(void){ CloseDevice(); DeleteCriticalSection(&_waveCriticalSection);}
开发者ID:mildrock,项目名称:Media,代码行数:6,
示例15: VisualCppMutexDestroystatic void VisualCppMutexDestroy(PlatformSpecificMutex mutex){ CRITICAL_SECTION *critical_section = (CRITICAL_SECTION*)mutex; DeleteCriticalSection(critical_section); delete critical_section;}
开发者ID:Andne,项目名称:cpputest,代码行数:6,
示例16: WaitForSingleObject ~PageRenderer() { if (thread) WaitForSingleObject(thread, INFINITE); delete currBmp; DeleteCriticalSection(&currAccess); }
开发者ID:RazvanB,项目名称:sumatrapdf,代码行数:6,
示例17: DeleteCriticalSection ~ase_fast_mutex() { /* DCHK */ DeleteCriticalSection(&cri); }
开发者ID:ahiguti,项目名称:ase,代码行数:3,
示例18: DeleteCriticalSectionCMsgContainerCAN::~CMsgContainerCAN(void){ DeleteCriticalSection(&m_sCritSecDataSync); DeleteCriticalSection(&m_omCritSecFilter);}
开发者ID:Huigang610,项目名称:busmaster-1,代码行数:5,
示例19: DeleteCriticalSectionCClientNotificationSink::~CClientNotificationSink(){ DeleteCriticalSection( &m_printfCriticalSection );}
开发者ID:georgSquared,项目名称:WS-Discovery,代码行数:4,
示例20: amp_raw_condition_variable_initint amp_raw_condition_variable_init(amp_condition_variable_t cond){ int retval = AMP_UNSUPPORTED; assert(NULL != cond); retval = InitializeCriticalSectionAndSpinCount(&cond->access_waiting_threads_count_critsec, AMP_RAW_MUTEX_WINTHREADS_CRITICAL_SECTION_DEFAULT_SPIN_COUNT | AMP_RAW_MUTEX_WINTHREADS_CRITICAL_SECTION_CREATE_IMMEDIATELY_ON_WIN2000); if (FALSE == retval) { DWORD const last_error = GetLastError(); /** * TODO: @todo Differentiate between no-memory and other errors. */ return AMP_ERROR; } retval = InitializeCriticalSectionAndSpinCount(&cond->wake_waiting_threads_critsec, AMP_RAW_MUTEX_WINTHREADS_CRITICAL_SECTION_DEFAULT_SPIN_COUNT | AMP_RAW_MUTEX_WINTHREADS_CRITICAL_SECTION_CREATE_IMMEDIATELY_ON_WIN2000); if (FALSE == retval) { DWORD const last_error = GetLastError(); /** * TODO: @todo Differentiate between no-memory and other errors. */ DeleteCriticalSection(&cond->access_waiting_threads_count_critsec); return AMP_ERROR; } /* Assuming that less threads exist than max possible semaphore count. */ cond->waking_waiting_threads_count_control_sem = CreateSemaphore(NULL, /* No inheritance to child processes */ 0, /* Initially no threads can pass */ LONG_MAX, /* Max semaphore count */ NULL); /* Only intra-process semaphore */ if (NULL == cond->waking_waiting_threads_count_control_sem) { DWORD const last_error = GetLastError(); assert(ERROR_ALREADY_EXISTS != last_error); DeleteCriticalSection(&cond->wake_waiting_threads_critsec); DeleteCriticalSection(&cond->access_waiting_threads_count_critsec); return AMP_ERROR; } cond->finished_waking_waiting_threads_event = CreateEvent(NULL, /* Default security and no inheritance to child processes */ FALSE, /* No manual reset */ 0, /* Initially not signaled */ NULL /* Not inter-process available */ ); if (NULL == cond->finished_waking_waiting_threads_event) { BOOL close_retval = FALSE; DWORD const create_event_error = GetLastError(); assert(ERROR_ALREADY_EXISTS != create_event_error); DeleteCriticalSection(&cond->wake_waiting_threads_critsec); DeleteCriticalSection(&cond->access_waiting_threads_count_critsec); close_retval = CloseHandle(&cond->waking_waiting_threads_count_control_sem); if (FALSE == close_retval) { DWORD const close_handle_error = GetLastError(); assert(ERROR_INVALID_HANDLE != close_handle_error); assert(0); } /* I don't know the possible return values of GetLastError if event * creation didn't work - just returning an error code. */ return AMP_ERROR; } cond->waiting_thread_count = 0l; cond->broadcast_in_progress = FALSE; /* Preliminary tests that waiting_thread_count and broadcast_in_progress * are correctly aligned to allow atomic access to them. * * TODO: @todo Re-enable alignment test assertions. * * TODO: @todo Check which alignment is needed on 32bit and 64bit systems * and on which platforms. */ /* assert(0x0 == ((uintptr_t)(&cond->waiting_thread_count) & 0x3)); */ /* assert(0x0 ==((uintptr_t)(&cond->broadcast_in_progress) & 0x3)); */ return AMP_SUCCESS;}
开发者ID:GameClay,项目名称:FlightlessManicotti,代码行数:93,
示例21: TRI_DestroyConditionvoid TRI_DestroyCondition(TRI_condition_t* cond) { DeleteCriticalSection(&cond->_lockWaiters);}
开发者ID:JiangKevin,项目名称:arangodb,代码行数:3,
示例22: DeleteCriticalSectionLock::~Lock(void){ DeleteCriticalSection(&_lock);}
开发者ID:ueverything,项目名称:mmo-resourse,代码行数:4,
示例23: opj_mutex_destroyvoid opj_mutex_destroy(opj_mutex_t* mutex){ if( !mutex ) return; DeleteCriticalSection( &(mutex->cs) ); opj_free( mutex );}
开发者ID:jingyu9575,项目名称:sumatrapdf,代码行数:6,
示例24: mainint __cdecl main(int argc, char **argv){ DWORD dwRet; DWORD dwRet1; bTestResult = FAIL; if ((PAL_Initialize(argc,argv)) != 0) { return(bTestResult); } /* * Create Critical Section Object */ InitializeCriticalSection ( &CriticalSection ); EnterCriticalSection ( &CriticalSection ); hThread[0] = CreateThread(NULL, 0, &ThreadTest1, (LPVOID) 0, CREATE_SUSPENDED, &dwThreadId[0]); if (hThread[0] == NULL) { Trace("PALSUITE ERROR: CreateThread(%p, %d, %p, %p, %d, %p) call " "failed./nGetLastError returned %d./n", NULL, 0, &ThreadTest1, (LPVOID) 0, CREATE_SUSPENDED, &dwThreadId[0], GetLastError()); LeaveCriticalSection(&CriticalSection); DeleteCriticalSection ( &CriticalSection ); Fail(""); } hThread[1] = CreateThread(NULL, 0, &ThreadTest2, (LPVOID) 0, CREATE_SUSPENDED, &dwThreadId[1]); if (hThread[1] == NULL) { Trace("PALSUITE ERROR: CreateThread(%p, %d, %p, %p, %d, %p) call " "failed./nGetLastError returned %d./n", NULL, 0, &ThreadTest2, (LPVOID) 0, CREATE_SUSPENDED, &dwThreadId[1], GetLastError()); LeaveCriticalSection(&CriticalSection); dwRet = ResumeThread(hThread[0]); if (-1 == dwRet) { Trace("PALSUITE ERROR: ResumeThread(%p) call failed./n" "GetLastError returned '%d'./n", hThread[0], GetLastError()); } dwRet = WaitForSingleObject(hThread[0], 10000); if (WAIT_OBJECT_0 == dwRet) { Trace("PALSUITE ERROR: WaitForSingleObject(%p, %d) call " "failed. '%d' was returned instead of the expected '%d'./n" "GetLastError returned '%d'./n", hThread[0], 10000, dwRet, WAIT_OBJECT_0, GetLastError()); } if (0 == CloseHandle(hThread[0])) { Trace("PALSUITE NOTIFICATION: CloseHandle(%p) call failed./n" "GetLastError returned %d. Not failing tests./n", hThread[0], GetLastError()); } DeleteCriticalSection(&CriticalSection); Fail(""); } /* * Set other thread priorities to be higher than ours & Sleep to ensure * we give up the processor. */ dwRet = (DWORD) SetThreadPriority(hThread[0], THREAD_PRIORITY_ABOVE_NORMAL); if (0 == dwRet) { Trace("PALSUITE ERROR: SetThreadPriority(%p, %d) call failed./n" "GetLastError returned %d", hThread[0], THREAD_PRIORITY_ABOVE_NORMAL, GetLastError()); } dwRet = (DWORD) SetThreadPriority(hThread[1], THREAD_PRIORITY_ABOVE_NORMAL); if (0 == dwRet) { Trace("PALSUITE ERROR: SetThreadPriority(%p, %d) call failed./n" "GetLastError returned %d", hThread[1], THREAD_PRIORITY_ABOVE_NORMAL, GetLastError()); } dwRet = ResumeThread(hThread[0]); if (-1 == dwRet)//.........这里部分代码省略.........
开发者ID:0-wiz-0,项目名称:coreclr,代码行数:101,
示例25: CloseUartCUartCtrl::~CUartCtrl(){ CloseUart(); DeleteCriticalSection(&m_csCom);}
开发者ID:YC-YC,项目名称:App,代码行数:5,
示例26: DeleteCriticalSectionbool CLogger::lock_deinit(){ DeleteCriticalSection(&m_crit); return true;}
开发者ID:lidongqiang,项目名称:PCBATool,代码行数:5,
示例27: ssl_lock_dyn_destroy_callbackvoid ssl_lock_dyn_destroy_callback(CRYPTO_dynlock_value* l, const char *file, int line) { DeleteCriticalSection(&l->lock); free(l);}
开发者ID:xxxxnnxxxx,项目名称:HttpProxy,代码行数:4,
示例28: DeleteCriticalSectionMutex::~Mutex(){ DeleteCriticalSection(&m_mutex.m_internalMutex);}
开发者ID:sfarbotka,项目名称:py3webkit,代码行数:4,
示例29: DeleteCriticalSectionMutex::~Mutex(){ // http://msdn.microsoft.com/en-us/library/ms686360(VS.85).aspx DeleteCriticalSection( &m_kCriticalSection );}
开发者ID:adamlwgriffiths,项目名称:Shock,代码行数:5,
注:本文中的DeleteCriticalSection函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ DeleteDC函数代码示例 C++ DeleteArray函数代码示例 |