* | Inspire Internet Relay Chat Daemon |
* +------------------------------------+
*
- * InspIRCd: (C) 2002-2009 InspIRCd Development Team
+ * InspIRCd: (C) 2002-2010 InspIRCd Development Team
* See: http://wiki.inspircd.org/Credits
*
* This program is free but copyrighted software; see
* code. Be sure to keep your code thread-safe and not prone to deadlocks
* and race conditions if you MUST use threading!
*/
-class CoreExport Thread : public Extensible
+class CoreExport Thread
{
private:
/** Set to true when the thread is to exit
{
}
+ /* If the thread is running, you MUST join BEFORE deletion */
virtual ~Thread();
/** Override this method to put your actual
/** Signal the thread to exit gracefully.
*/
- virtual void SetExitFlag()
- {
- ExitFlag = true;
- }
+ virtual void SetExitFlag();
+
+ /** Join the thread (calls SetExitFlag and waits for exit)
+ */
+ void join();
};
*/
void NotifyParent();
public:
- SocketThread(InspIRCd* SI);
+ SocketThread();
virtual ~SocketThread();
/** Lock queue.
*/