mirror of
https://github.com/postgres/postgres.git
synced 2025-11-12 05:01:15 +03:00
Move find_my_exec() way up into main.c so it is available to the
timezone code and other places. Remove elog() calls from find_my_exec; do fprintf(stderr) instead. We can then remove the exec.c handling in the makefile because it doesn't have to be built to suppress elog calls.
This commit is contained in:
@@ -13,7 +13,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/main/main.c,v 1.77 2004/04/19 17:42:57 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/main/main.c,v 1.78 2004/05/18 20:18:57 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -241,6 +241,14 @@ main(int argc, char *argv[])
|
||||
#endif /* !WIN32 */
|
||||
}
|
||||
|
||||
if (find_my_exec(argv[0], my_exec_path) < 0)
|
||||
{
|
||||
fprintf(stderr,
|
||||
gettext("%s: could not locate my own executable path"),
|
||||
argv[0]);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Now dispatch to one of PostmasterMain, PostgresMain, GucInfoMain,
|
||||
* SubPostmasterMain, pgstat_main, pgstat_mainChild or BootstrapMain
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.388 2004/05/17 14:35:29 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.389 2004/05/18 20:18:57 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
*
|
||||
@@ -295,8 +295,6 @@ __attribute__((format(printf, 1, 2)));
|
||||
|
||||
#ifdef EXEC_BACKEND
|
||||
|
||||
static char postgres_exec_path[MAXPGPATH];
|
||||
|
||||
#ifdef WIN32
|
||||
pid_t win32_forkexec(const char* path, char *argv[]);
|
||||
|
||||
@@ -690,13 +688,6 @@ PostmasterMain(int argc, char *argv[])
|
||||
(errmsg_internal("-----------------------------------------")));
|
||||
}
|
||||
|
||||
/*
|
||||
* On some systems our dynloader code needs the executable's pathname.
|
||||
*/
|
||||
if (find_my_exec(argv[0], my_exec_path) < 0)
|
||||
ereport(FATAL,
|
||||
(errmsg("%s: could not locate my own executable path",
|
||||
progname)));
|
||||
if (strlen(pkglib_path) == 0)
|
||||
get_pkglib_path(my_exec_path, pkglib_path);
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/tcop/postgres.c,v 1.407 2004/05/17 14:35:31 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/tcop/postgres.c,v 1.408 2004/05/18 20:18:58 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* this is the "main" module of the postgres backend and
|
||||
@@ -2549,6 +2549,9 @@ PostgresMain(int argc, char *argv[], const char *username)
|
||||
}
|
||||
Assert(DataDir);
|
||||
|
||||
if (strlen(pkglib_path) == 0)
|
||||
get_pkglib_path(my_exec_path, pkglib_path);
|
||||
|
||||
/* Acquire configuration parameters */
|
||||
if (IsUnderPostmaster)
|
||||
{
|
||||
@@ -2645,16 +2648,6 @@ PostgresMain(int argc, char *argv[], const char *username)
|
||||
argv[0])));
|
||||
}
|
||||
|
||||
/*
|
||||
* On some systems our dynloader code needs the executable's pathname.
|
||||
*/
|
||||
if (strlen(my_exec_path) == 0 && find_my_exec(argv[0], my_exec_path) < 0)
|
||||
ereport(FATAL,
|
||||
(errmsg("%s: could not locate postgres executable",
|
||||
argv[0])));
|
||||
if (strlen(pkglib_path) == 0)
|
||||
get_pkglib_path(my_exec_path, pkglib_path);
|
||||
|
||||
/*
|
||||
* Validate we have been given a reasonable-looking DataDir (if
|
||||
* under postmaster, assume postmaster did this already).
|
||||
|
||||
Reference in New Issue
Block a user