Windows: Move work item queues over to the Control Device
authorRod Widdowson <rdw@steadingsoftware.com>
Tue, 19 Feb 2013 16:12:26 +0000 (16:12 +0000)
committerJeffrey Altman <jaltman@your-file-system.com>
Fri, 22 Feb 2013 21:12:06 +0000 (13:12 -0800)
commit6e6c1b9aa2e1937c7b6dbbf2a6987181e3ff7711
treeb23f7ad132cb601836800d5a47c03f40f98ebb29
parent6136b236c4ac1b63531665862701d0e2d2916d35
Windows: Move work item queues over to the Control Device

Currently, when the library is unloaded it stops all worker
threands and then evaporates the work item queues.  Thus
any work items which are pending will disappear.

Whilst it is OK that the threads going away, any work items need to
remain queued so that when the library is restarted the work
can continue.  This checkin does this by moving the work item
queues and their synchronization primitives into the FS maintained
Control Device Object Extension.  The list of worker threads
remains in the Library Device Object Extension.

Change-Id: If5c7cd3bdfea1a368c8df69649e627bac3a9585f
Reviewed-on: http://gerrit.openafs.org/9139
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
src/WINNT/afsrdr/common/AFSRedirCommonStructs.h
src/WINNT/afsrdr/kernel/fs/AFSInit.cpp
src/WINNT/afsrdr/kernel/lib/AFSDevControl.cpp
src/WINNT/afsrdr/kernel/lib/AFSInit.cpp
src/WINNT/afsrdr/kernel/lib/AFSWorker.cpp