Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit6c9a83f

Browse files
committed
Don't ask for bug reports about pthread_is_threaded_np() != 0.
We thought that this condition was unreachable in ExitPostmaster,but actually it's possible if you have both a misconfigured localesetting and some other mistake that causes PostmasterMain to bailout before reaching its own check of pthread_is_threaded_np().Given the lack of other reports, let's not ask for bug reports ifthis occurs; instead just give the same hint as in PostmasterMain.Bug: #18783Reported-by: anani191181515@gmail.comAuthor: Tom Lane <tgl@sss.pgh.pa.us>Reviewed-by: Noah Misch <noah@leadboat.com>Discussion:https://postgr.es/m/18783-d1873b95a59b9103@postgresql.orgDiscussion:https://postgr.es/m/206317.1737656533@sss.pgh.pa.usBackpatch-through: 13
1 parent2b72fed commit6c9a83f

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

‎src/backend/postmaster/postmaster.c

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1333,6 +1333,8 @@ PostmasterMain(int argc, char *argv[])
13331333
* calls fork() without an immediate exec(), both of which have undefined
13341334
* behavior in a multithreaded program. A multithreaded postmaster is the
13351335
* normal case on Windows, which offers neither fork() nor sigprocmask().
1336+
* Currently, macOS is the only platform having pthread_is_threaded_np(),
1337+
* so we need not worry whether this HINT is appropriate elsewhere.
13361338
*/
13371339
if (pthread_is_threaded_np()!=0)
13381340
ereport(FATAL,
@@ -3670,15 +3672,16 @@ ExitPostmaster(int status)
36703672

36713673
/*
36723674
* There is no known cause for a postmaster to become multithreaded after
3673-
* startup. Recheck to account for the possibility of unknown causes.
3675+
* startup. However, we might reach here via an error exit before
3676+
* reaching the test in PostmasterMain, so provide the same hint as there.
36743677
* This message uses LOG level, because an unclean shutdown at this point
36753678
* would usually not look much different from a clean shutdown.
36763679
*/
36773680
if (pthread_is_threaded_np()!=0)
36783681
ereport(LOG,
3679-
(errcode(ERRCODE_INTERNAL_ERROR),
3680-
errmsg_internal("postmaster became multithreaded"),
3681-
errdetail("Please report thisto<%s>.",PACKAGE_BUGREPORT)));
3682+
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
3683+
errmsg("postmaster became multithreaded"),
3684+
errhint("Set the LC_ALL environment variabletoa valid locale.")));
36823685
#endif
36833686

36843687
/* should cleanup shared memory and kill all backends */

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp