diff options
Diffstat (limited to 'src/port/exec.c')
-rw-r--r-- | src/port/exec.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/port/exec.c b/src/port/exec.c index cc32077badd..863ccd23076 100644 --- a/src/port/exec.c +++ b/src/port/exec.c @@ -570,8 +570,20 @@ set_pglocale_pgservice(const char *argv0, const char *app) /* don't set LC_ALL in the backend */ if (strcmp(app, PG_TEXTDOMAIN("postgres")) != 0) + { setlocale(LC_ALL, ""); + /* + * One could make a case for reproducing here PostmasterMain()'s test + * for whether the process is multithreaded. Unlike the postmaster, + * no frontend program calls sigprocmask() or otherwise provides for + * mutual exclusion between signal handlers. While frontends using + * fork(), if multithreaded, are formally exposed to undefined + * behavior, we have not witnessed a concrete bug. Therefore, + * complaining about multithreading here may be mere pedantry. + */ + } + if (find_my_exec(argv0, my_exec_path) < 0) return; |