This commit was manufactured by cvs2svn to create branch
'thread_rewrite'.
Added lightweight_mutex_win32.hpp
Moved lightweight_mutex_win32.hpp and mutex_win32.hpp into boost source tree
Added licence text
Use lightweight_mutex for mutex impl. Added basic condition implementation.
Remove references to WINTHREADS from the generic code, as windows threads handled in separate header
Added new implementation of timed_mutex for win32
Added new implementation of timed_mutex for win32
Trimmed included headers
New read_write_mutex implementation for win32. No try/timed varieties, and no support for read/write priority policies.
Set semaphore handle back to NULL on destruction
Added a looping test to check for cross-thread sync problems
Added test to verify that threads block on a mutex, and only one waiting thread is released when the mutex is unlocked.
Extended stress test: 100 threads, loop 100 times on same thread.
Put a mutex around the increment in init_once_value, to ensure that if two threads call init_once_value, the increment is done
correctly.
Wake up threads using QueueUserAPC rather than triggering the semaphore.
reverted QueueUserAPC changes
Added brute force test for multiple readers
A locked reader blocks a waiting writer
Removed duplication between reader_thread and writer_thread into a template locking_thread