public void Stop()
{
running = false;
ws.Stop ();
UnregisterService ();
// get that thread to wake up and exit
lock (revmgr) {
Monitor.PulseAll (revmgr);
}
}