warcriticalsectionunix.cpp

来自「ftpserver very good sample」· C++ 代码 · 共 48 行

CPP
48
字号
#include "StdAfx.h"#include "WarCriticalSection.h"   // class implemented#include <assert.h>/////////////////////////////// PUBLIC /////////////////////////////////////////============================= LIFECYCLE ====================================WarCriticalSection::WarCriticalSection(bool allowRecursive)  throw(WarException)  : mDoRecursive(allowRecursive)#ifdef _DEBUG    , mNumLocks(0)#endif{    pthread_mutexattr_t attr =    {        allowRecursive        ? PTHREAD_MUTEX_RECURSIVE_NP        : PTHREAD_MUTEX_ADAPTIVE_NP    };    int err = ::pthread_mutex_init(&mHandle, &attr);    if (err)        WarThrow(WarError(WAR_THREADERR_FAIED_TO_INITIALIZE_MUTEX, err), NULL);}// WarCriticalSectionWarCriticalSection::~WarCriticalSection(){#ifdef _DEBUG    assert(mNumLocks == 0);#endif    ::pthread_mutex_destroy(&mHandle);}// ~WarCriticalSection//============================= OPERATORS ====================================//============================= OPERATIONS ===================================//============================= ACESS      ===================================//============================= INQUIRY    ===================================/////////////////////////////// PROTECTED  ////////////////////////////////////////////////////////////////// PRIVATE    ///////////////////////////////////

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?