Opened 4 months ago

Closed 4 months ago

Last modified 4 months ago

#6661 closed defect (fixed)

TemporarilyDropReadWriteLock() broken

Reported by: rouault Owned by: rouault
Priority: normal Milestone: 2.0.4
Component: GDAL_Raster Version: 2.0.2
Severity: normal Keywords:
Cc:

Description

GDALDataset::TemporarilyDropReadWriteLock?() added in r31109 uses a nMutexTakenCount integer to count the number of times to drop the mutex. But this counter was global to all threads, whereas it should have been per-thread. Hence multi-threaded writing scenarios are somewhat broken. See https://lists.osgeo.org/pipermail/gdal-dev/2016-September/045220.html

Change History (3)

comment:1 Changed 4 months ago by rouault

  • Resolution set to fixed
  • Status changed from new to closed

In 35519:

Fix potential deadlock in multithreaded writing scenarios (fixes #6661)

comment:2 Changed 4 months ago by rouault

In 35520:

Fix potential deadlock in multithreaded writing scenarios (fixes #6661)

comment:3 Changed 4 months ago by rouault

In 35521:

Fix potential deadlock in multithreaded writing scenarios (fixes #6661)

Note: See TracTickets for help on using tickets.