From: <di...@us...> - 2013-09-22 15:37:00
|
Revision: 58659 http://sourceforge.net/p/firebird/code/58659 Author: dimitr Date: 2013-09-22 15:36:57 +0000 (Sun, 22 Sep 2013) Log Message: ----------- Added conditional locking option to Firebird::Sync. Modified Paths: -------------- firebird/trunk/src/common/classes/SyncObject.h Modified: firebird/trunk/src/common/classes/SyncObject.h =================================================================== --- firebird/trunk/src/common/classes/SyncObject.h 2013-09-22 15:35:36 UTC (rev 58658) +++ firebird/trunk/src/common/classes/SyncObject.h 2013-09-22 15:36:57 UTC (rev 58659) @@ -167,6 +167,26 @@ lock(type); } + bool lockConditional(SyncType type) + { + request = type; + + if (!syncObject->lockConditional(type, where)) + { + request = SYNC_NONE; + return false; + } + + state = type; + return true; + } + + bool lockConditional(SyncType type, const char* fromWhere) + { + where = fromWhere; + return lockConditional(type); + } + void unlock() { fb_assert(state != SYNC_NONE); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |