int VSIFClose( FILE * fp ) { VSIDebug1( "VSIClose(%p)", fp ); return( fclose(fp) ); }
VSIFileManager *VSIFileManager::Get() { static volatile GPtrDiff_t nConstructerPID = 0; if( poManager != NULL ) { if( nConstructerPID != 0 ) { GPtrDiff_t nCurrentPID = static_cast<GPtrDiff_t>(CPLGetPID()); if( nConstructerPID != nCurrentPID ) { { CPLMutexHolder oHolder( &hVSIFileManagerMutex ); } if ( nConstructerPID != 0 ) { VSIDebug1( "nConstructerPID != 0: %d", nConstructerPID); assert(false); } } } return poManager; } CPLMutexHolder oHolder2( &hVSIFileManagerMutex ); if( poManager == NULL ) { nConstructerPID = static_cast<GPtrDiff_t>(CPLGetPID()); #ifdef DEBUG_VERBOSE printf("Thread %d: VSIFileManager in construction\n", nConstructerPID); #endif poManager = new VSIFileManager; VSIInstallLargeFileHandler(); VSIInstallSubFileHandler(); VSIInstallMemFileHandler(); #ifdef HAVE_LIBZ VSIInstallGZipFileHandler(); VSIInstallZipFileHandler(); #endif #ifdef HAVE_CURL VSIInstallCurlFileHandler(); VSIInstallCurlStreamingFileHandler(); VSIInstallS3FileHandler(); VSIInstallS3StreamingFileHandler(); #endif VSIInstallStdinHandler(); VSIInstallStdoutHandler(); VSIInstallSparseFileHandler(); VSIInstallTarFileHandler(); VSIInstallCryptFileHandler(); //printf("Thread %d: VSIFileManager construction finished\n", nConstructerPID); nConstructerPID = 0; } return poManager; }
int VSIUnixStdioHandle::Close() { VSIDebug1( "VSIUnixStdioHandle::Close(%p)", fp ); #ifdef VSI_COUNT_BYTES_READ poFS->AddToTotal(nTotalBytesRead); #endif return fclose( fp ); }
int VSIFCloseL( VSILFILE * fp ) { VSIVirtualHandle *poFileHandle = (VSIVirtualHandle *) fp; VSIDebug1( "VSICloseL(%p)", fp ); int nResult = poFileHandle->Close(); delete poFileHandle; return nResult; }
void VSIRewind( FILE * fp ) { VSIDebug1("VSIRewind(%p)", fp ); rewind( fp ); #ifdef VSI_DEBUG // Capture the error rewind ftell to avoid being overwritten by errors // from VSIDebug. const int nError = errno; VSIDebug2( "VSIRewind(%p) errno = %d", fp, nError ); errno = nError; #endif }
int VSIFCloseL( VSILFILE * fp ) { VSIVirtualHandle *poFileHandle = reinterpret_cast<VSIVirtualHandle *>( fp ); VSIDebug1( "VSIFCloseL(%p)", fp ); const int nResult = poFileHandle->Close(); delete poFileHandle; return nResult; }
void VSIFFlush( FILE * fp ) { #ifdef VSI_DEBUG VSIDebug1( "VSIFFlush(%p)", fp ); const int result = #endif fflush( fp ); #ifdef VSI_DEBUG // Capture the error rewind ftell to avoid being overwritten by errors // from VSIDebug. const int nError = errno; VSIDebug2( "VSIRewind(%p) errno = %d", fp, nError ); if ( result != 0 ) { CPLError( CE_Failure, CPLE_FileIO, "Flush failed. errno = %d", nError); } errno = nError; #endif }
void VSIFFlush( FILE * fp ) { VSIDebug1( "VSIFFlush(%p)", fp ); fflush( fp ); }
void VSIRewind( FILE * fp ) { VSIDebug1("VSIRewind(%p)", fp ); rewind( fp ); }