Example #1
0
File: pd.cpp Project: Apulus/GHDB
// 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 ;
}
Example #2
0
 ~_ossScopedLock ()
 {
    if ( _slatch )
       ( _mode == EXCLUSIVE ) ? _slatch->release() :
                                _slatch->release_shared() ;
    else if ( _xlatch )
       _xlatch->release () ;
 }
Example #3
0
 _ossScopedLock ( ossXLatch *latch ) :
       _slatch ( NULL ), _xlatch ( NULL ), _mode ( EXCLUSIVE )
 {
    if ( latch )
    {
       _xlatch = latch ;
       _slatch = NULL ;
       _xlatch->get () ;
    }
 }