// write log file static int _pdLogFileWrite ( const char *pData ) { int rc = GHDB_OK ; size_t dataSize = strlen ( pData ) ; _pdLogMutex.get() ; if ( !_pdLogFile.isValid() ) { // open the file rc = _pdLogFileReopen () ; if ( rc ) { printf ( "Failed to open log file, errno = %d"OSS_NEWLINE, rc ) ; goto error ; } } // write into the file rc = _pdLogFile.Write ( pData, dataSize ) ; if ( rc ) { printf ( "Failed to write into log file, errno = %d"OSS_NEWLINE, rc ) ; goto error ; } done : _pdLogMutex.release() ; return rc ; error : goto done ; }
~_ossScopedLock () { if ( _slatch ) ( _mode == EXCLUSIVE ) ? _slatch->release() : _slatch->release_shared() ; else if ( _xlatch ) _xlatch->release () ; }
_ossScopedLock ( ossXLatch *latch ) : _slatch ( NULL ), _xlatch ( NULL ), _mode ( EXCLUSIVE ) { if ( latch ) { _xlatch = latch ; _slatch = NULL ; _xlatch->get () ; } }