X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=w32svrapi.c;h=71f29461b8a15c6780c75b03eb697ee60588cf95;hp=08c0f9b5d07c05e369265aa4e07f26b1e21bc36f;hb=a5b4d31ab5ad2ed24cdb53ffa92679411b4176b0;hpb=e72b401da5537a14b29e945944926373cb251825;ds=sidebyside diff --git a/w32svrapi.c b/w32svrapi.c index 08c0f9b5..71f29461 100644 --- a/w32svrapi.c +++ b/w32svrapi.c @@ -1,4 +1,3 @@ -const char w32_svrapi_rcs[] = "$Id: w32svrapi.c,v 1.2 2006/09/20 03:15:43 david__schmidt Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/w32svrapi.c,v $ @@ -17,7 +16,7 @@ const char w32_svrapi_rcs[] = "$Id: w32svrapi.c,v 1.2 2006/09/20 03:15:43 david_ * doing to provide that isolation. * * Copyright : Written by and Copyright (C) 2003, 2006 members of - * the Privoxy team. http://www.privoxy.org/ + * the Privoxy team. https://www.privoxy.org/ * * Written by and Copyright (C) 2003 Ian Cummings * @@ -26,7 +25,7 @@ const char w32_svrapi_rcs[] = "$Id: w32svrapi.c,v 1.2 2006/09/20 03:15:43 david_ * some very helpful feedback and suggestions during the * development of this code. * - * This program is free software; you can redistribute it + * This program is free software; you can redistribute it * and/or modify it under the terms of the GNU General * Public License as published by the Free Software * Foundation; either version 2 of the License, or (at @@ -64,8 +63,6 @@ const char w32_svrapi_rcs[] = "$Id: w32svrapi.c,v 1.2 2006/09/20 03:15:43 david_ #endif /* ndef _WIN_CONSOLE */ #include "w32svrapi.h" -const char w32_svrapi_h_rcs[] = W32_SVRAPI_H_VERSION; - /* Only the ANSI Win32 APIs are used at this time. If for some * reason, we're building under unicode then we must stop @@ -119,7 +116,7 @@ static BOOL HasServiceControlManager() return FALSE; } - /* Try and connect to the SCM. If it fails check and see if the error + /* Try and connect to the SCM. If it fails check and see if the error * code is ERROR_CALL_NOT_IMPLEMENTED, which means: * "This function is not supported on this system." */ @@ -165,12 +162,12 @@ BOOL CanSystemSupportServices() * The Service functions are defined in which is where * the declarations used in this file are taken from * - *********************************************************************/ + *********************************************************************/ /********************************************************************* * Open a connection to the service control manager - *********************************************************************/ + *********************************************************************/ SC_HANDLE w32_open_sc_manager( LPCTSTR lpMachineName, /* computer name */ LPCTSTR lpDatabaseName, /* SCM database name */ @@ -205,7 +202,7 @@ SC_HANDLE w32_open_sc_manager( */ FreeLibrary(hDll); SetLastError(dwLastErr); - + return hScm; } /* -END- w32_open_sc_manager */ @@ -253,7 +250,7 @@ BOOL w32_close_service_handle( /********************************************************************* * Open a service - *********************************************************************/ + *********************************************************************/ SC_HANDLE w32_open_service( SC_HANDLE hSCManager, /* handle to SCM database */ LPCTSTR lpServiceName, /* service name */ @@ -288,7 +285,7 @@ SC_HANDLE w32_open_service( */ FreeLibrary(hDll); SetLastError(dwLastErr); - + return hSrv; } /* -END- w32_open_service */ @@ -351,7 +348,7 @@ SC_HANDLE w32_create_service( */ FreeLibrary(hDll); SetLastError(dwLastErr); - + return hSrv; } /* -END- w32_create_service */ @@ -563,12 +560,12 @@ static void display_win32_msg(BOOL bIsError, char *msg) #else if (bIsError) { - MessageBox(NULL, msg, "Privoxy Error", + MessageBox(NULL, msg, "Privoxy Error", MB_OK | MB_ICONERROR | MB_TASKMODAL | MB_SETFOREGROUND | MB_TOPMOST); } else { - MessageBox(NULL, msg, "Privoxy Information", + MessageBox(NULL, msg, "Privoxy Information", MB_OK | MB_ICONINFORMATION | MB_TASKMODAL | MB_SETFOREGROUND | MB_TOPMOST); } #endif @@ -628,9 +625,9 @@ BOOL install_service(const char *service_name) * We'll temporarily use szDisplayName as a second buffer. *********************************************************************/ GetModuleFileName(NULL, szDisplayName, MAX_PATH); - sprintf(szModule, "\"%s\" --service", szDisplayName); + sprintf(szModule, "\"%s\" --service", szDisplayName); + - /********************************************************************* * Get the display name for the service *********************************************************************/ @@ -640,7 +637,7 @@ BOOL install_service(const char *service_name) /********************************************************************* * Create the service *********************************************************************/ - hService = w32_create_service(hSCM, + hService = w32_create_service(hSCM, service_name, /* the internal service name */ szDisplayName, /* the display name */ SERVICE_ALL_ACCESS, /* get full access during creation */ @@ -763,7 +760,7 @@ static void WINAPI privoxy_w32_service_start(DWORD dw, LPSTR* pszArgs) { int child_id; - /* Arg zero is always the service name, and we need to + /* Arg zero is always the service name, and we need to * know it when we call RegisterServiceCtrlHandler. */ strcpy(szThisServiceName, pszArgs[0]); @@ -785,6 +782,9 @@ static void WINAPI privoxy_w32_service_start(DWORD dw, LPSTR* pszArgs) w32_set_service_status(hSrv_status, &srv_status); #ifndef FEATURE_PTHREAD + /* NOTE: a cygwin cross-compiler build for --host=i686-w64-mingw32 must disable POSIX threading - eg + * ./configure --host=i686-w64-mingw32 --disable-pthread + */ child_id = _beginthread(w32_service_listen_loop, 0, NULL); if (child_id > 0) #else @@ -915,7 +915,7 @@ static void WINAPI privoxy_w32_service_handler(DWORD dwOpcode) * even after the process had disappeared. * * It seems that if we call exit in the ServiceMain thread, it causes - * the SCM to not recieve the status we sent in the line above. The + * the SCM to not receive the status we sent in the line above. The * simple fix was to create a new thread to actually call exit for us * whilst this thread continues and returns to its caller. */