/// <summary> /// Start the log /// </summary> /// <param name="eventListener"></param> public FLHookEventSocket(FLHookListener eventListener, LogRecorderInterface log) { this.eventListener = eventListener; this.log = log; if (this.eventListener != null) { receiveEventThread = new Thread(new ThreadStart(ReceiveEventThread)); receiveEventThread.Name = "FLEventReceive"; receiveEventThread.IsBackground = true; receiveEventThread.Start(); cfgCheckerThread = new Thread(new ThreadStart(ConfigurationCheckerThread)); cfgCheckerThread.Name = "FLEventReceiveCfgChecker"; cfgCheckerThread.IsBackground = true; cfgCheckerThread.Start(); } }
/// <summary> /// Shutdown the socket. /// </summary> public void Shutdown() { eventListener = null; if (cfgCheckerThread != null) { cfgCheckerThread.Abort(); cfgCheckerThread = null; } // Close the socket to terminate any blocking reads, // terminate the thread and wait for it to shutdown. if (receiveEventThread != null) { CloseSocket(); receiveEventThread.Abort(); receiveEventThread = null; } }