?? reentrant.cpp
字號:
/*_############################################################################ _## _## reentrant.cpp _## _## SNMP++v3.2.21a _## ----------------------------------------------- _## Copyright (c) 2001-2006 Jochen Katz, Frank Fock _## _## This software is based on SNMP++2.6 from Hewlett Packard: _## _## Copyright (c) 1996 _## Hewlett-Packard Company _## _## ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. _## Permission to use, copy, modify, distribute and/or sell this software _## and/or its documentation is hereby granted without fee. User agrees _## to display the above copyright notice and this license notice in all _## copies of the software and any documentation of the software. User _## agrees to assume all liability for the use of the software; _## Hewlett-Packard and Jochen Katz make no representations about the _## suitability of this software for any purpose. It is provided _## "AS-IS" without warranty of any kind, either express or implied. User _## hereby grants a royalty-free license to any and all derivatives based _## upon this software code base. _## _## Stuttgart, Germany, Tue Nov 21 22:12:16 CET 2006 _## _##########################################################################*/char reentrant_cpp_version[]="#(@) SNMP++ $Id: reentrant.cpp,v 1.6 2005/09/19 19:59:36 fock Exp $";#include "snmp_pp/reentrant.h"#ifdef SNMP_PP_NAMESPACEnamespace Snmp_pp {#endifSnmpSynchronized::SnmpSynchronized(){#ifdef _THREADS#ifdef WIN32 InitializeCriticalSection(&_mutex);#elif defined (CPU) && CPU == PPC603 _mutex = semMCreate(SEM_Q_PRIORITY | SEM_DELETE_SAFE | SEM_INVERSION_SAFE );#else pthread_mutex_init(&_mutex, 0);#endif#endif}SnmpSynchronized::~SnmpSynchronized(){#ifdef _THREADS#ifdef WIN32 DeleteCriticalSection(&_mutex);#elif defined (CPU) && CPU == PPC603 semTake(_mutex, WAIT_FOREVER); semDelete(_mutex);#else pthread_mutex_destroy(&_mutex);#endif#endif}void SnmpSynchronized::lock(){#ifdef _THREADS#ifdef WIN32 EnterCriticalSection(&_mutex);#elif defined (CPU) && CPU == PPC603 semTake(_mutex, WAIT_FOREVER);#else pthread_mutex_lock(&_mutex);#endif#endif} void SnmpSynchronized::unlock(){#ifdef _THREADS#ifdef WIN32 LeaveCriticalSection(&_mutex);#elif defined (CPU) && CPU == PPC603 semGive(_mutex);#else pthread_mutex_unlock(&_mutex);#endif#endif} #ifdef SNMP_PP_NAMESPACE}; // end of namespace Snmp_pp#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -