Ok, I just did some testing for file-system performance during plugging-in/unplugging a thumbdrive on Windows7-64bit.
Long story short: If there is any locking, then it is only for a VERY tiny amount of time. Definitely way, WAY less than 1/10 of a second.
The program I wrote does a 5 second-long test. During that time it continously creates a file, writes to it, closes it, then deletes it again. Logs all the performance-data for intervals of 1/10 of a second into RAM. Does about 350 creates/writes/close/deletes for every 1/10 of a second. All logging-data is stored into RAM first and only displayed after the 5 seconds are over. I plug-in or unplug the thumbdrive during that 5 seconds.
Performance is the same during the entire test. No delay, error or slow performance at some point.
Conclusion: If there is any locking, then it is definitely shorter than 1/10 of a second, probably even less than 1ms.
Whatever causes the viewer to freeze after plugging-in a thumbdrive is not due to locking of the file-system. LL must have done something very weird somewhere in the code.
Still this is a VERY minor issue. I only wasted some time on it because I was simply curious.
(A little later)
I think the viewer-freeze is due to some joystick detection. See the attached logfile. The freeze happens around 10:38:09Z.
Is there a way to disable joystick support in the viewer? I've never used that. Does anyone???