Support silent mode for service registrations on win32

Using -s when registering a service will now suppress
the application eventlog entries stating that the service
is starting and started.

MauMau
This commit is contained in:
Magnus Hagander 2011-06-09 18:18:45 +02:00
parent 1710752a50
commit 7e6ec04d96
2 changed files with 7 additions and 0 deletions

View File

@ -117,6 +117,7 @@ PostgreSQL documentation
</arg> </arg>
<arg>-w</arg> <arg>-w</arg>
<arg>-t <replaceable>seconds</replaceable></arg> <arg>-t <replaceable>seconds</replaceable></arg>
<arg>-s</arg>
<arg>-o <replaceable>options</replaceable></arg> <arg>-o <replaceable>options</replaceable></arg>
</cmdsynopsis> </cmdsynopsis>

View File

@ -163,6 +163,9 @@ write_eventlog(int level, const char *line)
{ {
static HANDLE evtHandle = INVALID_HANDLE_VALUE; static HANDLE evtHandle = INVALID_HANDLE_VALUE;
if (silent_mode && level == EVENTLOG_INFORMATION_TYPE)
return;
if (evtHandle == INVALID_HANDLE_VALUE) if (evtHandle == INVALID_HANDLE_VALUE)
{ {
evtHandle = RegisterEventSource(NULL, "PostgreSQL"); evtHandle = RegisterEventSource(NULL, "PostgreSQL");
@ -1276,6 +1279,9 @@ pgwin32_CommandLine(bool registration)
/* concatenate */ /* concatenate */
sprintf(cmdLine + strlen(cmdLine), " -t %d", wait_seconds); sprintf(cmdLine + strlen(cmdLine), " -t %d", wait_seconds);
if (registration && silent_mode)
strcat(cmdLine, " -s");
if (post_opts) if (post_opts)
{ {
strcat(cmdLine, " "); strcat(cmdLine, " ");