This method of the Service Class changes the value of the service, based on a ServiceStatus object. This method should be externally synchronized with other status-changing operations, if necessary.
protected final boolean setServiceStatusDirect(ServiceStatus newstatus);
CAUTION This method is not synchronized with the other status get/set methods. This method provides the service with a direct way to internally update the assassin. It allows the assassin to identify deadlock conditions on internally-initiated state changes. External state changes through Service Control Manager events will always update the assassin. Use getServiceStatusDirect to obtain the status without synchronizing.
Returns true if the status was updated; returns false if the newstatus parameter is not correct or the status could not be updated.
newstatus | The value that the service status is set to. The state in newstatus is copied to the current status. |