Fix a subtle race condition between prepare_csp_for_next_request() and sweep()
authorFabian Keil <fk@fabiankeil.de>
Sun, 6 Nov 2011 11:58:51 +0000 (11:58 +0000)
committerFabian Keil <fk@fabiankeil.de>
Sun, 6 Nov 2011 11:58:51 +0000 (11:58 +0000)
commit67e633b99cd72b2e93df42fad679f5790f597e90
treef9f7f32c4d2d1d52f1e48cfe9a54b3fc8dcf18af
parentd1c06dcb630d51c2b66a662ae271c0ba6a703569
Fix a subtle race condition between prepare_csp_for_next_request() and sweep()

A thread preparing itself for the next client request
could briefly appear to be inactive.

If all other threads were already using more recent files,
the thread could get its files swept away under its feet,
later on causing an 'invalid read of size 1' when the file
name was logged in any_loaded_file_changed().

I've only seen it while stress testing in valgrind while
touching action files in a loop. It's unlikely to have
caused any actual problems in the real world.
jcc.c