Displaying 7 results from an estimated 7 matches for "service_start_pend".
2013 Aug 21
2
[PATCH 1/3] Rationalise whitespace to 4 space indentation with no trailing spaces
...viceCtrlHandler (
- SVCNAME,
- SvcCtrlHandler
- );
-
- if (!gSvcStatusHandle) {
- SvcReportEvent(TEXT("RegisterServiceCtrlHandler"));
- return;
- }
-
- gSvcStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS;
- gSvcStatus.dwServiceSpecificExitCode = 0;
-
- ReportSvcStatus (
- SERVICE_START_PENDING,
- NO_ERROR,
- 3000
- );
-
- SvcInit (
- dwArgc,
- lpszArgv
- );
+ gSvcStatusHandle = RegisterServiceCtrlHandler (
+ SVCNAME,
+ SvcCtrlHandler
+ );
+
+ if (!gSvcStatusHandle) {
+ SvcReportEvent(TEXT("RegisterServiceCtrlHandler"));
+ return;...
2005 Nov 22
1
Win32 Service Timeout command
...or some additional
feedback.
Heesob, is this because of the default 2 second WaitHint value that
StartService() uses?
If so, I think the solution is to allow a "timeout=" option in the
Service.create_service method, and wrap the StartService() function in a
"while dwCurrentState == SERVICE_START_PENDING; sleep(x)" type of loop.
I''m basing my opinion on this link:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc
/base/starting_a_service.asp
Does that seem a reasonable approach?
Of course, this would still mean Jamey would have to guess at a timeout
value....
2013 Aug 29
5
[PATCH 1/6] Rationalise whitespace to 4 space indentation with no trailing spaces
...viceCtrlHandler (
- SVCNAME,
- SvcCtrlHandler
- );
-
- if (!gSvcStatusHandle) {
- SvcReportEvent(TEXT("RegisterServiceCtrlHandler"));
- return;
- }
-
- gSvcStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS;
- gSvcStatus.dwServiceSpecificExitCode = 0;
-
- ReportSvcStatus (
- SERVICE_START_PENDING,
- NO_ERROR,
- 3000
- );
-
- SvcInit (
- dwArgc,
- lpszArgv
- );
+ gSvcStatusHandle = RegisterServiceCtrlHandler (
+ SVCNAME,
+ SvcCtrlHandler
+ );
+
+ if (!gSvcStatusHandle) {
+ SvcReportEvent(TEXT("RegisterServiceCtrlHandler"));
+ return;...
2005 Nov 26
1
Another patch of win32-service for nice startup.
...Name = lpszArgv[0];
@@ -46,6 +48,15 @@
rb_raise(cDaemonError,"RegisterServiceCtrlHandler failed");
}
+ // wait for sevice initialization
+ for(i=1;TRUE;i++)
+ {
+ if(WaitForSingleObject(hStartEvent, 1000) == WAIT_OBJECT_0)
+ break;
+
+ SetTheServiceStatus(SERVICE_START_PENDING, 0, i, 1000);
+ }
+
// The service has started.
SetTheServiceStatus(SERVICE_RUNNING, NO_ERROR, 0, 0);
@@ -241,9 +252,9 @@
}
#endif
- // Create Thread for service main
- hThread = CreateThread(NULL,0,ThreadProc,0,0,&ThreadId);
- if(hThread == INVALID_HANDLE_VALUE){...
2005 Nov 23
0
Some code change suggestions of thenwin32-service package
...|f| f.puts("#{i}") }
> sleep 10
> end
> end
>
> I think it is not a perfect solution but at least better than
> the current
> verison.
>
> Regards,
>
> Park Heesob
This looks reasonable. Did we still want to use
SetTheServiceStatus(SERVICE_START_PENDING, NO_ERROR, checkpoint, 0)
somewhere during initialization, or does the creation of a service_init
method eliminate the need for it?
Thanks,
Dan
2006 Dec 07
0
Fwd: win32-service problems with patch
...HANDLE)0){
- ErrorStopService();
- rb_raise(cDaemonError,"RegisterServiceCtrlHandler failed");
- }
-
- // wait for sevice initialization
- for(i=1;TRUE;i++)
- {
- if(WaitForSingleObject(hStartEvent, 1000) == WAIT_OBJECT_0)
- break;
-
- SetTheServiceStatus(SERVICE_START_PENDING, 0, i, 1000);
+ // no service to stop, no service handle to notify,
+ // nothing to do but exit
+ return;
}
// The service has started.
SetTheServiceStatus(SERVICE_RUNNING, NO_ERROR, 0, 0);
+ SetEvent(hStartEvent);
+
// Main loop for the service.
while(Wait...
2011 Dec 16
0
Wine release 1.3.35
...vcp90: Added _Locinfo::_Getlconv implementation.
msvcp90: Added _Locinfo::_Getname implementation.
msvcp90: Added _Locinfo::_Getdays implementation.
msvcp90: Added _Locinfo::_Getmonths implementation.
msvcp90: Added _Locinfo::_Gettnames implementation.
services: Accept SERVICE_START_PENDING as valid service start status.
services: Set result inside service_send_command.
services: Fix SERVICE_STATUS initialization in svcctl_ControlService.
services: Check process status to determine if service has terminated.
services: Don't close control_pipe when SERVIC...