case SERVICE_CONTROL_PAUSE: return _T("PAUSE");\r
case SERVICE_CONTROL_CONTINUE: return _T("CONTINUE");\r
case SERVICE_CONTROL_INTERROGATE: return _T("INTERROGATE");\r
+ case NSSM_SERVICE_CONTROL_ROTATE: return _T("ROTATE");\r
default: return 0;\r
}\r
}\r
*/\r
log_service_control(service->name, control, false);\r
return ERROR_CALL_NOT_IMPLEMENTED;\r
+\r
+ case NSSM_SERVICE_CONTROL_ROTATE:\r
+ log_service_control(service->name, control, true);\r
+ if (service->rotate_stdout_online) service->rotate_stdout_online = NSSM_ROTATE_ONLINE_ASAP;\r
+ if (service->rotate_stdout_online) service->rotate_stderr_online = NSSM_ROTATE_ONLINE_ASAP;\r
+ return NO_ERROR;\r
}\r
\r
/* Unknown control */\r
\r
if (get_process_creation_time(service->process_handle, &service->creation_time)) ZeroMemory(&service->creation_time, sizeof(service->creation_time));\r
\r
- close_output_handles(&si);\r
+ close_output_handles(&si, ! service->rotate_stdout_online, ! service->rotate_stderr_online);\r
\r
if (service->affinity) {\r
/*\r