Public Member Functions | |
GDALRasterBlock (GDALRasterBand *, int, int) | |
CPLErr | Internalize (void) |
void | Touch (void) |
void | MarkDirty (void) |
void | MarkClean (void) |
void | AddLock (void) |
void | DropLock (void) |
void | Detach () |
CPLErr | Write () |
GDALDataType | GetDataType () |
int | GetXOff () |
int | GetYOff () |
int | GetXSize () |
int | GetYSize () |
int | GetDirty () |
int | GetLockCount () |
void * | GetDataRef (void) |
GDALRasterBand * | GetBand () |
Static Public Member Functions | |
static int | FlushCacheBlock () |
static void | Verify () |
static int | SafeLockBlock (GDALRasterBlock **) |
int GDALRasterBlock::SafeLockBlock | ( | GDALRasterBlock ** | ppBlock | ) | [static] |
Safely lock block.
This method locks a GDALRasterBlock (and touches it) in a thread-safe manner. The global block cache mutex is held while locking the block, in order to avoid race conditions with other threads that might be trying to expire the block at the same time. The block pointer may be safely NULL, in which case this method does nothing.
ppBlock | Pointer to the block pointer to try and lock/touch. |
Referenced by GDALRasterBand::TryGetLockedBlockRef().