*** empty log message ***

svn path=/trunk/boinc/; revision=10441
This commit is contained in:
Rom Walton 2006-06-21 19:43:03 +00:00
parent c589dcf622
commit 03dafabae1
7 changed files with 39 additions and 12 deletions

View File

@ -6507,3 +6507,14 @@ David 21 June 2006
cpu_sched.C
sched/
file_upload_handler.C
Rom 21 June 2006
- Bug Fix: Two setup failure logs that were sent to me indicate that
the uninstall process didnt clean up the BOINC entry in the
service control manager. Check, before attempting to shutdown,
BOINC to make sure it is executing or is capable of responding
to a ControlService event.
win_build/installerv2/redist/Windows/src/boinccas
CAShutdownBOINC.cpp
boinccas.rc

View File

@ -45,7 +45,7 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="zlib1.lib ssleay32.lib libeay32.lib libcurl.lib MSVCRTD.LIB MSVCPRTD.LIB wsock32.lib wininet.lib winmm.lib libboincd.lib"
AdditionalDependencies="zlib1.lib ssleay32.lib libeay32.lib libcurl_imp.lib MSVCRTD.LIB MSVCPRTD.LIB wsock32.lib wininet.lib winmm.lib libboincd.lib"
OutputFile=".\Build\Debug/boinc.exe"
LinkIncremental="2"
SuppressStartupBanner="TRUE"
@ -101,7 +101,7 @@
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="../lib;../api;../client/win;../client;..;../openssl/include;../curl/include"
AdditionalIncludeDirectories="../lib;../api;../client/win;../client;..;../openssl/include;../curl/include;../zlib/include"
PreprocessorDefinitions="WIN32;_WIN32;NDEBUG;_MT;_DLL;_WINDOWS;_CONSOLE;_USE_CURL;USE_SSL;USE_SSLEAY;USE_OPENSSL"
StringPooling="FALSE"
RuntimeLibrary="2"
@ -120,12 +120,12 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ssleay32.lib libeay32.lib libcurl.lib ssleay32.lib libeay32.lib libcurl.lib MSVCRT.LIB MSVCPRT.LIB wsock32.lib wininet.lib winmm.lib libboinc.lib"
AdditionalDependencies="zlib1.lib ssleay32.lib libeay32.lib libcurl_imp.lib MSVCRT.LIB MSVCPRT.LIB wsock32.lib wininet.lib winmm.lib libboinc.lib"
ShowProgress="0"
OutputFile=".\Build\Release/boinc.exe"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="&quot;../openssl/mswin/$(PROCESSOR_ARCHITECTURE)/lib&quot;;&quot;../curl/mswin/$(PROCESSOR_ARCHITECTURE)/lib&quot;;../../;Build/Release"
AdditionalLibraryDirectories="&quot;../openssl/mswin/$(PROCESSOR_ARCHITECTURE)/lib&quot;;&quot;../curl/mswin/$(PROCESSOR_ARCHITECTURE)/lib&quot;;../../;Build/Release;&quot;../zlib/mswin/$(PROCESSOR_ARCHITECTURE)/lib&quot;"
IgnoreAllDefaultLibraries="TRUE"
IgnoreDefaultLibraryNames=""
GenerateDebugInformation="TRUE"

Binary file not shown.

View File

@ -80,6 +80,12 @@ typedef SC_HANDLE (WINAPI *tCS)(
LPSERVICE_STATUS lpServiceStatus
);
// QueryServiceStatus()
typedef BOOL (WINAPI *tQSS)(
SC_HANDLE hService,
LPSERVICE_STATUS lpServiceStatus
);
UINT CAShutdownBOINC::OnExecution()
{
SC_HANDLE schSCManager = NULL;
@ -89,6 +95,7 @@ UINT CAShutdownBOINC::OnExecution()
tOSCM pOSCM = NULL;
tOS pOS = NULL;
tCS pCS = NULL;
tQSS pQSS = NULL;
HMODULE hAdvapi32 = LoadLibrary(_T("advapi32.dll"));
@ -96,16 +103,18 @@ UINT CAShutdownBOINC::OnExecution()
pOSCM = (tOSCM)GetProcAddress(hAdvapi32, _T("OpenSCManagerA"));
pOS = (tOS)GetProcAddress(hAdvapi32, _T("OpenServiceA"));
pCS = (tCS)GetProcAddress(hAdvapi32, _T("ControlService"));
if (!pOSCM && !pOS && !pCS) {
pQSS = (tQSS)GetProcAddress(hAdvapi32, _T("QueryServiceStatus"));
if (!pOSCM && !pOS && !pCS && !pQSS) {
FreeLibrary(hAdvapi32);
hAdvapi32 = NULL;
pOSCM = NULL;
pOS = NULL;
pCS = NULL;
pQSS = NULL;
}
}
if (pOSCM && pOS && pCS) {
if (pOSCM && pOS && pCS && pQSS) {
schSCManager = pOSCM(
NULL, // local machine
NULL, // ServicesActive database
@ -119,6 +128,11 @@ UINT CAShutdownBOINC::OnExecution()
GENERIC_READ | GENERIC_EXECUTE);
if (schService)
{
if (pQSS(schService, &ssStatus))
{
if (!((SERVICE_STOPPED == ssStatus.dwCurrentState) &&
(SERVICE_STOP_PENDING == ssStatus.dwCurrentState)))
{
if (!pCS(schService, SERVICE_CONTROL_STOP, &ssStatus))
{
@ -126,6 +140,8 @@ UINT CAShutdownBOINC::OnExecution()
}
}
}
}
}
if (schSCManager)
CloseServiceHandle(schSCManager);

View File

@ -53,8 +53,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,5
PRODUCTVERSION 1,0,0,5
FILEVERSION 1,0,0,6
PRODUCTVERSION 1,0,0,6
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -70,12 +70,12 @@ BEGIN
BLOCK "040904b0"
BEGIN
VALUE "FileDescription", "BOINC Dynamic Link Library"
VALUE "FileVersion", "1, 0, 0, 5"
VALUE "FileVersion", "1, 0, 0, 6"
VALUE "InternalName", "BOINC"
VALUE "LegalCopyright", "Copyright (C) 2005"
VALUE "OriginalFilename", "BOINC.dll"
VALUE "ProductName", " BOINC Dynamic Link Library"
VALUE "ProductVersion", "1, 0, 0, 5"
VALUE "ProductVersion", "1, 0, 0, 6"
END
END
BLOCK "VarFileInfo"