[driver] Test stopping WvlThreadTest thread
authorShao Miller <Shao.Miller@yrdsb.edu.on.ca>
Tue, 4 Jan 2011 20:59:53 +0000 (15:59 -0500)
committerShao Miller <Shao.Miller@yrdsb.edu.on.ca>
Tue, 4 Jan 2011 20:59:53 +0000 (15:59 -0500)
commita5ce96bfd17c56076df8bece1d1becf060ea779b
tree3b2881a8c41cf8f0a10c8efc9736305854fb148e
parent40c1438304bbbb1bd1aaa478b31d7d9bdc0adb5a
[driver] Test stopping WvlThreadTest thread

In WvUnload(), we add a call to a new WvTestThreadTestStop()
function (which is purely for testing).  This new function:

- Enqueues itself for WvlThreadTest.
  - Since this is the first item, WvlThreadTest is started!
- The queued item then remembers WvlThreadGetCurrent(),
  since the WvlThreadTest thread is "self-contained".
- The queued item returns control to the original call via
  an event.
- The original call now knows the "contained" thread inside
  WvlThreadTest.  Then it calls WvlThreadSendStopAndWait().
- This last call enqueues a stopper for the thread, then
  waits for the stopper signal, then waits for the thread
  to exit.  (And closes the thread handle.)
src/winvblock/driver.c