Refactored the Event object. Becasue the Event is used in filesystem/FileCache.cpp...
authorJim Carroll <thecarrolls@jiminger.com>
Sat, 18 Jun 2011 17:21:41 +0000 (13:21 -0400)
committerJim Carroll <thecarrolls@jiminger.com>
Thu, 23 Jun 2011 14:15:26 +0000 (10:15 -0400)
commit79214bebf12d9f1484ff67337eed48f2ffe8c02a
treedba3a7758ac5cb34b5fcae1a00e4d9bc0a30543d
parentfec595de05e004def50d8618430079ddc7e8cf3d
Refactored the Event object. Becasue the Event is used in filesystem/FileCache.cpp in combination with CThread's stop so that the stopping of the thread will result in the termination of any 'wait's that are happening and registerd. I needed to introduce an IInterruptible which the Event implements and the CThread can interrupt on stop (optionally). Also replaced the CThread's use of platform specific thread local with a wrapped boost implementation. Events are only Interruptible explicitly (using a boolean in the constructor) and the explicit use of an Interruptible event is only used where CThread::WaitForSingleObject was used previously. That's FileCache.cpp.
xbmc/filesystem/FileCache.cpp
xbmc/threads/Event.cpp
xbmc/threads/Event.h
xbmc/threads/Interruptible.cpp [new file with mode: 0644]
xbmc/threads/Interruptible.h [new file with mode: 0644]
xbmc/threads/Makefile
xbmc/threads/Thread.cpp
xbmc/threads/Thread.h
xbmc/threads/ThreadLocal.cpp [new file with mode: 0644]
xbmc/threads/ThreadLocal.h [new file with mode: 0644]