Remove obsolete check in SIGTERM handler for the startup process.
Thanks to commit3b00fdba9f
, this check in the SIGTERM handler for the startup process is now obsolete and can be removed. Instead of leaving around the dead function write_stderr_signal_safe(), I've opted to just remove it for now. This partially reverts commit97550c0711
. Reviewed-by: Andres Freund, Noah Misch Discussion: https://postgr.es/m/20231121212008.GA3742740%40nathanxps13
This commit is contained in:
parent
28e4632509
commit
8fd0498de2
|
@ -19,8 +19,6 @@
|
|||
*/
|
||||
#include "postgres.h"
|
||||
|
||||
#include <unistd.h>
|
||||
|
||||
#include "access/xlog.h"
|
||||
#include "access/xlogrecovery.h"
|
||||
#include "access/xlogutils.h"
|
||||
|
@ -112,20 +110,7 @@ static void
|
|||
StartupProcShutdownHandler(SIGNAL_ARGS)
|
||||
{
|
||||
if (in_restore_command)
|
||||
{
|
||||
/*
|
||||
* If we are in a child process (e.g., forked by system() in
|
||||
* RestoreArchivedFile()), we don't want to call any exit callbacks.
|
||||
* The parent will take care of that.
|
||||
*/
|
||||
if (MyProcPid == (int) getpid())
|
||||
proc_exit(1);
|
||||
else
|
||||
{
|
||||
write_stderr_signal_safe("StartupProcShutdownHandler() called in child process\n");
|
||||
_exit(1);
|
||||
}
|
||||
}
|
||||
proc_exit(1);
|
||||
else
|
||||
shutdown_requested = true;
|
||||
WakeupRecovery();
|
||||
|
|
|
@ -3737,31 +3737,3 @@ write_stderr(const char *fmt,...)
|
|||
#endif
|
||||
va_end(ap);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Write a message to STDERR using only async-signal-safe functions. This can
|
||||
* be used to safely emit a message from a signal handler.
|
||||
*
|
||||
* TODO: It is likely possible to safely do a limited amount of string
|
||||
* interpolation (e.g., %s and %d), but that is not presently supported.
|
||||
*/
|
||||
void
|
||||
write_stderr_signal_safe(const char *str)
|
||||
{
|
||||
int nwritten = 0;
|
||||
int ntotal = strlen(str);
|
||||
|
||||
while (nwritten < ntotal)
|
||||
{
|
||||
int rc;
|
||||
|
||||
rc = write(STDERR_FILENO, str + nwritten, ntotal - nwritten);
|
||||
|
||||
/* Just give up on error. There isn't much else we can do. */
|
||||
if (rc == -1)
|
||||
return;
|
||||
|
||||
nwritten += rc;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -536,10 +536,4 @@ extern void write_jsonlog(ErrorData *edata);
|
|||
*/
|
||||
extern void write_stderr(const char *fmt,...) pg_attribute_printf(1, 2);
|
||||
|
||||
/*
|
||||
* Write a message to STDERR using only async-signal-safe functions. This can
|
||||
* be used to safely emit a message from a signal handler.
|
||||
*/
|
||||
extern void write_stderr_signal_safe(const char *fmt);
|
||||
|
||||
#endif /* ELOG_H */
|
||||
|
|
Loading…
Reference in New Issue