aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/main/main.c12
-rw-r--r--src/backend/postmaster/pgstat.c14
2 files changed, 16 insertions, 10 deletions
diff --git a/src/backend/main/main.c b/src/backend/main/main.c
index 535da36b919..9216c2c4be9 100644
--- a/src/backend/main/main.c
+++ b/src/backend/main/main.c
@@ -13,7 +13,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/main/main.c,v 1.80 2004/05/19 18:58:44 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/main/main.c,v 1.81 2004/05/24 02:47:44 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -278,22 +278,20 @@ main(int argc, char *argv[])
}
/*
- * If the first argument is "-statBuf", then invoke pgstat_main. Note
- * we remove "-statBuf" from the arguments passed on to pgstat_main.
+ * If the first argument is "-statBuf", then invoke pgstat_main.
*/
if (argc > 1 && strcmp(argv[1], "-statBuf") == 0)
{
- pgstat_main(argc - 2, argv + 2);
+ pgstat_main(argc , argv);
exit(0);
}
/*
- * If the first argument is "-statCol", then invoke pgstat_mainChild. Note
- * we remove "-statCol" from the arguments passed on to pgstat_mainChild.
+ * If the first argument is "-statCol", then invoke pgstat_mainChild.
*/
if (argc > 1 && strcmp(argv[1], "-statCol") == 0)
{
- pgstat_mainChild(argc - 2, argv + 2);
+ pgstat_mainChild(argc, argv);
exit(0);
}
#endif
diff --git a/src/backend/postmaster/pgstat.c b/src/backend/postmaster/pgstat.c
index c102cdd7aa2..70924eb676e 100644
--- a/src/backend/postmaster/pgstat.c
+++ b/src/backend/postmaster/pgstat.c
@@ -13,7 +13,7 @@
*
* Copyright (c) 2001-2003, PostgreSQL Global Development Group
*
- * $PostgreSQL: pgsql/src/backend/postmaster/pgstat.c,v 1.70 2004/05/18 03:36:30 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/postmaster/pgstat.c,v 1.71 2004/05/24 02:47:47 momjian Exp $
* ----------
*/
#include "postgres.h"
@@ -520,8 +520,16 @@ pgstat_forkexec(STATS_PROCESS_TYPE procType)
static void
pgstat_parseArgs(PGSTAT_FORK_ARGS)
{
- Assert(argc == 12);
- argc = 0;
+ Assert(argc == 14);
+
+ if (find_my_exec(argv[0], my_exec_path) < 0)
+ elog(FATAL,
+ gettext("%s: could not locate my own executable path"),
+ argv[0]);
+
+ get_pkglib_path(my_exec_path, pkglib_path);
+
+ argc = 2;
pgStatSock = atoi(argv[argc++]);
pgStatPmPipe[0] = atoi(argv[argc++]);
pgStatPmPipe[1] = atoi(argv[argc++]);