Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wC4JL-001dNg-0q for pgsql-hackers@arkaria.postgresql.org; Sun, 12 Apr 2026 23:33:51 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wC4JH-003RUe-1N for pgsql-hackers@arkaria.postgresql.org; Sun, 12 Apr 2026 23:33:48 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wC4JH-003RUW-0M for pgsql-hackers@lists.postgresql.org; Sun, 12 Apr 2026 23:33:48 +0000 Received: from mail-pj1-x102a.google.com ([2607:f8b0:4864:20::102a]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wC4JF-00000000kBQ-3GW6 for pgsql-hackers@postgresql.org; Sun, 12 Apr 2026 23:33:47 +0000 Received: by mail-pj1-x102a.google.com with SMTP id 98e67ed59e1d1-35d99bae2ebso3329745a91.3 for ; Sun, 12 Apr 2026 16:33:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776036823; x=1776641623; darn=postgresql.org; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:from:to:cc:subject:date:message-id:reply-to; bh=nKfXcU0uK18JmFidMcArd1FMv2u0j/KGKcre/I7IP6E=; b=ntW46ZQ2jAhOzeJOQp99O6D4+GCZmuhMlLoSnAmSHkhmnOIsdFUf8T+irwczHnR2lF ECIeTb3SYXG0qJ9Iy1W5z2iW7Xm3/4u+LQ027rN+qpvqilmSKgtOAPr3Vvq79XVXKaDH Q0+GOQilh/VeQBJ69YzM6tuV/lGCU3lsDJNsMwzfw18q3YJoyEpm4BuUTP34+YK7Mhbk 8tTlrPLtfn6jje9v1axYpTq60cnvdmlO7AU8vRXBh1z3p2v/1SmJBAn85/jV/8lQJcBJ zWRSCD7vi0qDuZMiadrB4EI/BprcevSi7I8+sdZ+euilog8HB4V2QIgKJL5kxrdoXi/m 7eXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776036823; x=1776641623; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=nKfXcU0uK18JmFidMcArd1FMv2u0j/KGKcre/I7IP6E=; b=ciC1XAZpYWPJmlhMDbaOGYruWBjqfxDOnwfWXMbN2p9E9GviNPUU4IpJTxM2ZOL7SR EI6X3MKFhsiwCCpuJWLFav9lVksZ/iQAty+SGFYzxeNIj4pl6J+GiGW+KdqLkurRDELW ppWMYKJa4RjZsBjsQDpbJEQsygDQwgulWE/lOtZ4LV6juieQBIDrpj3GsN8xAKB9jSDz AJcoGFdY5n2GnFHx76dgxGHfx1RjnWHawt9E7kmucJBPdayIYb8xO9XUYjo9spb56Klo gSyzTHmKHYoFJlCNzeNIWeqAjAgkeRuAaRcMNJK1YrG8MGPzkVye5jWk4MQTDH4p0vAG 40xA== X-Forwarded-Encrypted: i=1; AFNElJ9vpToovLrjz4DTTHDmAe7CNoXr5jgYERzhDm4D4VBSNvLG+aA65kzVsN7PYwVDUF/ITN69nuMib0br05Oo@postgresql.org X-Gm-Message-State: AOJu0YwBbCO100DcTOeNveqJ4zCavD9xCXZA3hjkG4tVlSOg45qN9WGT BJsYgDuQWAsEpud8C8UL9ZdOFrMabU7F9jwRmzenTHKj/bUbnkB1agA8 X-Gm-Gg: AeBDiev+jnGSGVf417IojNAki6ndCgPX5I+IDIC5c4DX/AnQfwl+OD7C7Ui0JcyePSP BPju84d4IcVgFJkVfYPwsIXWC5aYJtPcfxpb45tk3q2UL8wYfojkddrcB41mHjIsVGbLr1bFlBr q9mMk/RHBsK3IdmYPgtm6Zsp6KDxk/rvZ4sp6h2UyCT/GcfoMFHd5v1bvitXUzaBeKlmhc0dYnW lXLb/5eXVSqlmdUy2ROAiYve9GoHmq8xbmOu5vZu0gYl1Bybb2dA0F8xvUheGLLj+oKza9R+Bae Vd51tXY2ur93McJYh/1smnhQJkxgkdpz7e5DiMtDGF9sDyGVJoMnbFm3IIs2jbJeZdFmxXCtGd4 BYt9mbrEk0DayOOI2KVkD8B+YBCsKCrjjBCiuHV9g9o9+IUbA5TmAUubFbdlMuGNIUPCO4d0AS4 P3rnaSl6i77hmpDo34fGin+lsWGRZArco= X-Received: by 2002:a17:90b:1646:b0:35d:a05f:c7eb with SMTP id 98e67ed59e1d1-35e4285254emr12311783a91.22.1776036822819; Sun, 12 Apr 2026 16:33:42 -0700 (PDT) Received: from smtpclient.apple ([45.32.121.103]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-35fba23ff62sm180114a91.6.2026.04.12.16.33.39 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 12 Apr 2026 16:33:41 -0700 (PDT) From: Chao Li Message-Id: Content-Type: multipart/mixed; boundary="Apple-Mail=_E9185E41-E06F-4150-AE36-3BF697F01117" Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.400.21\)) Subject: Re: Use proc_exit() in WalRcvWaitForStartPosition Date: Mon, 13 Apr 2026 07:33:02 +0800 In-Reply-To: Cc: Xuneng Zhou , Andreas Karlsson , PostgreSQL-development To: Fujii Masao References: <74381238-4E8A-4621-B794-57025DCCE0BA@gmail.com> <6a42c40e-eb81-4212-9bca-8c0eb02d47d1@proxel.se> <0D17D4E1-919F-4412-8EFE-BEB80211321D@gmail.com> X-Mailer: Apple Mail (2.3864.400.21) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --Apple-Mail=_E9185E41-E06F-4150-AE36-3BF697F01117 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Apr 10, 2026, at 22:17, Fujii Masao wrote: >=20 > On Fri, Apr 10, 2026 at 4:07=E2=80=AFPM Chao Li = wrote: >> PFA v2 - updated header comment of walreceive.c. I tried to avoid = mentioning the exact exit value in the comment, so I just changed = =E2=80=9Cexit(0)=E2=80=9D to =E2=80=9Cterminate=E2=80=9D. >=20 > Thanks for updating the patch! >=20 > "termination instructs XXX to terminate" sounds a bit redundant. How > about saying > "to ereport(FATAL)" instead of =E2=80=9Cto terminate=E2=80=9D? >=20 > Regards, >=20 >=20 > --=20 > Fujii Masao Okay, yes, that was a bit redundant. I changed it to =E2=80=9Cto = ereport(FATAL)=E2=80=9D in v3. After that change, the line went over 80 columns, so I also adjusted a = few nearby lines to keep everything within the 80-column limit. There is = no content change. Best regards, -- Chao Li (Evan) HighGo Software Co., Ltd. https://www.highgo.com/ --Apple-Mail=_E9185E41-E06F-4150-AE36-3BF697F01117 Content-Disposition: attachment; filename=v3-0001-Use-proc_exit-in-WalRcvWaitForStartPosition.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="v3-0001-Use-proc_exit-in-WalRcvWaitForStartPosition.patch" Content-Transfer-Encoding: quoted-printable =46rom=20162eb0622f3f7ea436243aa2723737716a7c3e96=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20"Chao=20Li=20(Evan)"=20=0A= Date:=20Wed,=208=20Apr=202026=2017:02:28=20+0800=0ASubject:=20[PATCH=20= v3]=20Use=20proc_exit()=20in=20WalRcvWaitForStartPosition=0A=0AAuthor:=20= Chao=20Li=20=0AReviewed-by:=20Fujii=20Masao=20= =0AReviewed-by:=20Andreas=20Karlsson=20= =0AReviewed-by:=20Xuneng=20Zhou=20= =0ADiscussion:=20= https://postgr.es/m/74381238-4E8A-4621-B794-57025DCCE0BA@gmail.com=0A---=0A= =20src/backend/replication/walreceiver.c=20|=208=20++++----=0A=201=20= file=20changed,=204=20insertions(+),=204=20deletions(-)=0A=0Adiff=20= --git=20a/src/backend/replication/walreceiver.c=20= b/src/backend/replication/walreceiver.c=0Aindex=20= 09fde92bfd7..80743e6af29=20100644=0A---=20= a/src/backend/replication/walreceiver.c=0A+++=20= b/src/backend/replication/walreceiver.c=0A@@=20-30,9=20+30,9=20@@=0A=20=20= *=20a=20new=20one.=0A=20=20*=0A=20=20*=20Normal=20termination=20is=20by=20= SIGTERM,=20which=20instructs=20the=20walreceiver=20to=0A-=20*=20exit(0).=20= Emergency=20termination=20is=20by=20SIGQUIT;=20like=20any=20postmaster=20= child=0A-=20*=20process,=20the=20walreceiver=20will=20simply=20abort=20= and=20exit=20on=20SIGQUIT.=20A=20close=0A-=20*=20of=20the=20connection=20= and=20a=20FATAL=20error=20are=20treated=20not=20as=20a=20crash=20but=20= as=0A+=20*=20ereport(FATAL).=20Emergency=20termination=20is=20by=20= SIGQUIT;=20like=20any=20postmaster=0A+=20*=20child=20process,=20the=20= walreceiver=20will=20simply=20abort=20and=20exit=20on=20SIGQUIT.=20A=0A+=20= *=20close=20of=20the=20connection=20and=20a=20FATAL=20error=20are=20= treated=20not=20as=20a=20crash=20but=20as=0A=20=20*=20normal=20= operation.=0A=20=20*=0A=20=20*=20This=20file=20contains=20the=20= server-facing=20parts=20of=20walreceiver.=20The=20libpq-=0A@@=20-710,7=20= +710,7=20@@=20WalRcvWaitForStartPosition(XLogRecPtr=20*startpoint,=20= TimeLineID=20*startpointTLI)=0A=20=09=09=09=20*=20to=20die,=20but=20= might=20as=20well=20check=20it=20here=20too.=0A=20=09=09=09=20*/=0A=20=09= =09=09SpinLockRelease(&walrcv->mutex);=0A-=09=09=09exit(1);=0A+=09=09=09= proc_exit(1);=0A=20=09=09}=0A=20=09=09SpinLockRelease(&walrcv->mutex);=0A= =20=0A--=20=0A2.50.1=20(Apple=20Git-155)=0A=0A= --Apple-Mail=_E9185E41-E06F-4150-AE36-3BF697F01117--