[UDFS]
authorPierre Schweitzer <pierre@reactos.org>
Sun, 4 Jun 2017 08:02:01 +0000 (08:02 +0000)
committerPierre Schweitzer <pierre@reactos.org>
Sun, 4 Jun 2017 08:02:01 +0000 (08:02 +0000)
commit0978c888bd0c58893c032cec7a97f6dea60c79b3
treefb370af19023cd4bfd86e47b74fbcedd4ab749f7
parent474be697272639c0b7b954223c08f956c12136c1
[UDFS]
lolfix some deadlocks in UDFS:
- deadlock when enumerating files
- deadlock on shutdown after volume change

I could track it to the fact that for whatever reason, GCC wrongly optimize the
BOOLEAN used to store whether the VCB resource was acquired. The optimization being
to assume it's always FALSE. Thus, the resource is never released and the driver
ends in a deadlock.
To avoid this: marked the BOOLEAN variables as volatile.

I guess there are same kind deadlocks I couldn't see in my limited tests...

CORE-4375

svn path=/trunk/; revision=74897
reactos/drivers/filesystems/udfs/close.cpp
reactos/drivers/filesystems/udfs/create.cpp