mirror of
https://github.com/postgres/postgres.git
synced 2025-04-27 22:56:53 +03:00
Minor code cleanup: make the WIN32 case less gratuitously different from
the other platform-specific cases in ps_status.
This commit is contained in:
parent
e2e2a9db4c
commit
e71e02d926
@ -5,7 +5,7 @@
|
|||||||
* to contain some useful information. Mechanism differs wildly across
|
* to contain some useful information. Mechanism differs wildly across
|
||||||
* platforms.
|
* platforms.
|
||||||
*
|
*
|
||||||
* $PostgreSQL: pgsql/src/backend/utils/misc/ps_status.c,v 1.29 2006/03/05 15:58:49 momjian Exp $
|
* $PostgreSQL: pgsql/src/backend/utils/misc/ps_status.c,v 1.30 2006/06/12 02:39:49 tgl Exp $
|
||||||
*
|
*
|
||||||
* Copyright (c) 2000-2006, PostgreSQL Global Development Group
|
* Copyright (c) 2000-2006, PostgreSQL Global Development Group
|
||||||
* various details abducted from various places
|
* various details abducted from various places
|
||||||
@ -33,7 +33,7 @@
|
|||||||
extern char **environ;
|
extern char **environ;
|
||||||
|
|
||||||
|
|
||||||
/*------
|
/*
|
||||||
* Alternative ways of updating ps display:
|
* Alternative ways of updating ps display:
|
||||||
*
|
*
|
||||||
* PS_USE_SETPROCTITLE
|
* PS_USE_SETPROCTITLE
|
||||||
@ -51,6 +51,8 @@ extern char **environ;
|
|||||||
* PS_USE_CLOBBER_ARGV
|
* PS_USE_CLOBBER_ARGV
|
||||||
* write over the argv and environment area
|
* write over the argv and environment area
|
||||||
* (most SysV-like systems)
|
* (most SysV-like systems)
|
||||||
|
* PS_USE_WIN32
|
||||||
|
* push the string out as the name of a Windows event
|
||||||
* PS_USE_NONE
|
* PS_USE_NONE
|
||||||
* don't update ps display
|
* don't update ps display
|
||||||
* (This is the default, as it is safest.)
|
* (This is the default, as it is safest.)
|
||||||
@ -65,7 +67,7 @@ extern char **environ;
|
|||||||
#define PS_USE_CHANGE_ARGV
|
#define PS_USE_CHANGE_ARGV
|
||||||
#elif defined(__linux__) || defined(_AIX) || defined(__sgi) || (defined(sun) && !defined(BSD)) || defined(ultrix) || defined(__ksr__) || defined(__osf__) || defined(__svr4__) || defined(__svr5__) || defined(__darwin__)
|
#elif defined(__linux__) || defined(_AIX) || defined(__sgi) || (defined(sun) && !defined(BSD)) || defined(ultrix) || defined(__ksr__) || defined(__osf__) || defined(__svr4__) || defined(__svr5__) || defined(__darwin__)
|
||||||
#define PS_USE_CLOBBER_ARGV
|
#define PS_USE_CLOBBER_ARGV
|
||||||
#elif defined (WIN32)
|
#elif defined(WIN32)
|
||||||
#define PS_USE_WIN32
|
#define PS_USE_WIN32
|
||||||
#else
|
#else
|
||||||
#define PS_USE_NONE
|
#define PS_USE_NONE
|
||||||
@ -96,30 +98,6 @@ static size_t ps_buffer_fixed_size; /* size of the constant prefix */
|
|||||||
static int save_argc;
|
static int save_argc;
|
||||||
static char **save_argv;
|
static char **save_argv;
|
||||||
|
|
||||||
#ifdef WIN32
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Win32 does not support showing any changed arguments. To make it at all
|
|
||||||
* possible to track which backend is doing what, we create a named object
|
|
||||||
* that can be viewed with for example Process Explorer
|
|
||||||
*/
|
|
||||||
static HANDLE ident_handle = INVALID_HANDLE_VALUE;
|
|
||||||
static void
|
|
||||||
pgwin32_update_ident(char *ident)
|
|
||||||
{
|
|
||||||
char name[PS_BUFFER_SIZE + 32];
|
|
||||||
|
|
||||||
if (ident_handle != INVALID_HANDLE_VALUE)
|
|
||||||
CloseHandle(ident_handle);
|
|
||||||
|
|
||||||
sprintf(name, "pgident: %s", ident);
|
|
||||||
|
|
||||||
ident_handle = CreateEvent(NULL,
|
|
||||||
TRUE,
|
|
||||||
FALSE,
|
|
||||||
name);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Call this early in startup to save the original argc/argv values.
|
* Call this early in startup to save the original argc/argv values.
|
||||||
@ -292,9 +270,6 @@ init_ps_display(const char *username, const char *dbname,
|
|||||||
|
|
||||||
ps_buffer_fixed_size = strlen(ps_buffer);
|
ps_buffer_fixed_size = strlen(ps_buffer);
|
||||||
|
|
||||||
#ifdef WIN32
|
|
||||||
pgwin32_update_ident(ps_buffer);
|
|
||||||
#endif
|
|
||||||
#endif /* not PS_USE_NONE */
|
#endif /* not PS_USE_NONE */
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -352,9 +327,25 @@ set_ps_display(const char *activity)
|
|||||||
}
|
}
|
||||||
#endif /* PS_USE_CLOBBER_ARGV */
|
#endif /* PS_USE_CLOBBER_ARGV */
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef PS_USE_WIN32
|
||||||
pgwin32_update_ident(ps_buffer);
|
{
|
||||||
#endif
|
/*
|
||||||
|
* Win32 does not support showing any changed arguments. To make it
|
||||||
|
* at all possible to track which backend is doing what, we create a
|
||||||
|
* named object that can be viewed with for example Process Explorer.
|
||||||
|
*/
|
||||||
|
static HANDLE ident_handle = INVALID_HANDLE_VALUE;
|
||||||
|
char name[PS_BUFFER_SIZE + 32];
|
||||||
|
|
||||||
|
if (ident_handle != INVALID_HANDLE_VALUE)
|
||||||
|
CloseHandle(ident_handle);
|
||||||
|
|
||||||
|
sprintf(name, "pgident: %s", ps_buffer);
|
||||||
|
|
||||||
|
ident_handle = CreateEvent(NULL, TRUE, FALSE, name);
|
||||||
|
}
|
||||||
|
#endif /* PS_USE_WIN32 */
|
||||||
|
|
||||||
#endif /* not PS_USE_NONE */
|
#endif /* not PS_USE_NONE */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user