def __init__(self,args): win32serviceutil.ServiceFramework.__init__(self,args) self.hWaitStop = win32event.CreateEvent(None,0,0,None) self.isAlive = True def SvcStop(self): self.logger.error("svc do stop...") self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING) win32event.SetEvent(self.hWaitStop) self.isAlive = False
CreateEvent( ) |
Creates or opens a named or unnamed event object.
handle = CreateEvent(securityAttributes, bManualReset, bInitialState, name)
Parameters
securityAttributes
A PySECURITYATTRIBUTES object that determines whether the returned handle can be inherited by child processes. If None, the returned handle can't be inherited.
bManualReset
An integer that specifies whether an auto or manual reset object is created. If true, you must use the ResetEvent() function to manually reset the event state to nonsignaled. If false, the system automatically resets the state after a waiting thread has been released.
bInitialState
An integer that specifies if the object is to created in the signaled state. If true, the object is created signaled; otherwise it's nonsignaled.
name
A string that specifies the name of the event object or None if an unnamed object is to be created. If this name matches an existing event object, this function requests EVENT_ALL_ACCESS on the existing object. In this case, the bManualReset and bInitialState parameters are ignored as they have already been specified when the object was initially created.
Result
The result is a PyHANDLE object referencing the requested object.
SetEvent( ) |
Sets the state of the specified event object to signaled.
SetEvent(handle)
Parameters
handle
The handle to the object to signal.
ResetEvent( ) |
Sets the state of the specified event object to nonsignaled.
ResetEvent(handle)
Parameters
handle
The handle to the object to reset.