1
0
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:
Bruce Momjian
2004-05-18 20:18:59 +00:00
parent da401bd314
commit a9fad44372
10 changed files with 92 additions and 116 deletions

View File

@@ -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

View File

@@ -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);

View File

@@ -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).