mirror of
https://github.com/postgres/postgres.git
synced 2025-11-06 07:49:08 +03:00
pq/signal() portability patch. Also psql copy prompt fix.
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.12 1996/11/22 04:32:41 bryanh Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.13 1996/12/26 22:06:59 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -33,6 +33,7 @@
|
||||
#include "access/skey.h"
|
||||
#include "access/strat.h"
|
||||
#include "utils/rel.h"
|
||||
#include "libpq/pqsignal.h"
|
||||
|
||||
#include "storage/block.h"
|
||||
#include "storage/off.h"
|
||||
@@ -291,10 +292,10 @@ BootstrapMain(int argc, char *argv[])
|
||||
* initialize signal handlers
|
||||
* ----------------
|
||||
*/
|
||||
signal(SIGINT, (sig_func) die);
|
||||
pqsignal(SIGINT, (sig_func) die);
|
||||
#ifndef win32
|
||||
signal(SIGHUP, (sig_func) die);
|
||||
signal(SIGTERM, (sig_func) die);
|
||||
pqsignal(SIGHUP, (sig_func) die);
|
||||
pqsignal(SIGTERM, (sig_func) die);
|
||||
#endif /* win32 */
|
||||
|
||||
/* --------------------
|
||||
@@ -406,7 +407,7 @@ BootstrapMain(int argc, char *argv[])
|
||||
* ----------------
|
||||
*/
|
||||
#ifndef win32
|
||||
signal(SIGHUP, handle_warn);
|
||||
pqsignal(SIGHUP, handle_warn);
|
||||
|
||||
if (sigsetjmp(Warn_restart, 1) != 0) {
|
||||
#else
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/libpq/pqcomm.c,v 1.9 1996/11/24 04:05:20 bryanh Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/libpq/pqcomm.c,v 1.10 1996/12/26 22:07:03 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -36,6 +36,7 @@
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <signal.h>
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
#ifndef WIN32
|
||||
@@ -57,7 +58,7 @@
|
||||
|
||||
#include <postgres.h>
|
||||
|
||||
#include <libpq/pqsignal.h> /* substitute for <signal.h> */
|
||||
#include <libpq/pqsignal.h>
|
||||
#include <libpq/auth.h>
|
||||
#include <libpq/libpq.h> /* where the declarations go */
|
||||
|
||||
@@ -496,7 +497,7 @@ pq_regoob(void (*fptr)())
|
||||
#else /* hpux */
|
||||
fcntl(fd, F_SETOWN, getpid());
|
||||
#endif /* hpux */
|
||||
(void) signal(SIGURG,fptr);
|
||||
(void) pqsignal(SIGURG,fptr);
|
||||
#endif /* WIN32 */
|
||||
}
|
||||
|
||||
@@ -504,7 +505,7 @@ void
|
||||
pq_unregoob()
|
||||
{
|
||||
#ifndef WIN32
|
||||
signal(SIGURG,SIG_DFL);
|
||||
pqsignal(SIGURG,SIG_DFL);
|
||||
#endif /* WIN32 */
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/libpq/pqsignal.c,v 1.4 1996/11/18 02:25:09 bryanh Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/libpq/pqsignal.c,v 1.5 1996/12/26 22:07:08 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* This shouldn't be in libpq, but the monitor and some other
|
||||
@@ -39,12 +39,16 @@
|
||||
* ------------------------------------------------------------------------*/
|
||||
#include <postgres.h>
|
||||
|
||||
#include <signal.h>
|
||||
|
||||
#include <libpq/pqsignal.h>
|
||||
|
||||
pqsigfunc
|
||||
pqsignal(int signo, pqsigfunc func)
|
||||
{
|
||||
#if defined(USE_POSIX_SIGNALS)
|
||||
#if !defined(USE_POSIX_SIGNALS)
|
||||
return signal(signo, func);
|
||||
#else
|
||||
struct sigaction act, oact;
|
||||
|
||||
act.sa_handler = func;
|
||||
@@ -56,8 +60,5 @@ pqsignal(int signo, pqsigfunc func)
|
||||
if (sigaction(signo, &act, &oact) < 0)
|
||||
return(SIG_ERR);
|
||||
return(oact.sa_handler);
|
||||
#else /* !USE_POSIX_SIGNALS */
|
||||
Assert(0);
|
||||
return 0;
|
||||
#endif /* !USE_POSIX_SIGNALS */
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.29 1996/12/26 17:49:05 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.30 1996/12/26 22:07:17 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
*
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
#include "postgres.h"
|
||||
|
||||
#include "libpq/pqsignal.h" /* substitute for <signal.h> */
|
||||
#include <signal.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
@@ -73,6 +73,7 @@
|
||||
#include "libpq/libpq.h"
|
||||
#include "libpq/auth.h"
|
||||
#include "libpq/pqcomm.h"
|
||||
#include "libpq/pqsignal.h"
|
||||
#include "miscadmin.h"
|
||||
#include "version.h"
|
||||
#include "lib/dllist.h"
|
||||
@@ -394,14 +395,14 @@ PostmasterMain(int argc, char *argv[])
|
||||
if (silentflag)
|
||||
pmdaemonize();
|
||||
|
||||
signal(SIGINT, pmdie);
|
||||
pqsignal(SIGINT, pmdie);
|
||||
#ifndef WIN32
|
||||
signal(SIGCHLD, reaper);
|
||||
signal(SIGTTIN, SIG_IGN);
|
||||
signal(SIGTTOU, SIG_IGN);
|
||||
signal(SIGHUP, pmdie);
|
||||
signal(SIGTERM, pmdie);
|
||||
signal(SIGCONT, dumpstatus);
|
||||
pqsignal(SIGCHLD, reaper);
|
||||
pqsignal(SIGTTIN, SIG_IGN);
|
||||
pqsignal(SIGTTOU, SIG_IGN);
|
||||
pqsignal(SIGHUP, pmdie);
|
||||
pqsignal(SIGTERM, pmdie);
|
||||
pqsignal(SIGCONT, dumpstatus);
|
||||
#endif /* WIN32 */
|
||||
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.11 1996/11/27 07:17:48 vadim Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.12 1996/12/26 22:07:28 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -46,7 +46,7 @@
|
||||
* This is so that we can support more backends. (system-wide semaphore
|
||||
* sets run out pretty fast.) -ay 4/95
|
||||
*
|
||||
* $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.11 1996/11/27 07:17:48 vadim Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.12 1996/12/26 22:07:28 momjian Exp $
|
||||
*/
|
||||
#include <sys/time.h>
|
||||
#ifndef WIN32
|
||||
@@ -65,7 +65,7 @@
|
||||
|
||||
#include "postgres.h"
|
||||
#include "miscadmin.h"
|
||||
#include "libpq/pqsignal.h" /* substitute for <signal.h> */
|
||||
#include "libpq/pqsignal.h"
|
||||
|
||||
#include "access/xact.h"
|
||||
#include "utils/hsearch.h"
|
||||
@@ -157,7 +157,7 @@ InitProcess(IPCKey key)
|
||||
* ------------------
|
||||
*/
|
||||
#ifndef WIN32
|
||||
signal(SIGALRM, HandleDeadLock);
|
||||
pqsignal(SIGALRM, HandleDeadLock);
|
||||
#endif /* WIN32 we'll have to figure out how to handle this later */
|
||||
|
||||
SpinAcquire(ProcStructLock);
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.23 1996/12/07 04:39:06 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.24 1996/12/26 22:07:40 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* this is the "main" module of the postgres backend and
|
||||
@@ -15,11 +15,11 @@
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
#include "libpq/pqsignal.h" /* substitute for <signal.h> */
|
||||
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <signal.h>
|
||||
#include <time.h>
|
||||
#include <setjmp.h>
|
||||
#include <sys/time.h>
|
||||
@@ -77,6 +77,7 @@
|
||||
#include "tcop/fastpath.h"
|
||||
|
||||
#include "libpq/libpq.h"
|
||||
#include "libpq/pqsignal.h"
|
||||
#include "rewrite/rewriteHandler.h" /* for QueryRewrite() */
|
||||
|
||||
/* ----------------
|
||||
@@ -820,15 +821,15 @@ PostgresMain(int argc, char *argv[])
|
||||
* register signal handlers.
|
||||
* ----------------
|
||||
*/
|
||||
signal(SIGINT, die);
|
||||
pqsignal(SIGINT, die);
|
||||
|
||||
#ifndef WIN32
|
||||
signal(SIGHUP, die);
|
||||
signal(SIGTERM, die);
|
||||
signal(SIGPIPE, die);
|
||||
signal(SIGUSR1, quickdie);
|
||||
signal(SIGUSR2, Async_NotifyHandler);
|
||||
signal(SIGFPE, FloatExceptionHandler);
|
||||
pqsignal(SIGHUP, die);
|
||||
pqsignal(SIGTERM, die);
|
||||
pqsignal(SIGPIPE, die);
|
||||
pqsignal(SIGUSR1, quickdie);
|
||||
pqsignal(SIGUSR2, Async_NotifyHandler);
|
||||
pqsignal(SIGFPE, FloatExceptionHandler);
|
||||
#endif /* WIN32 */
|
||||
|
||||
/* --------------------
|
||||
@@ -1246,7 +1247,7 @@ PostgresMain(int argc, char *argv[])
|
||||
*/
|
||||
|
||||
#ifndef WIN32
|
||||
signal(SIGHUP, handle_warn);
|
||||
pqsignal(SIGHUP, handle_warn);
|
||||
|
||||
if (sigsetjmp(Warn_restart, 1) != 0) {
|
||||
#else
|
||||
@@ -1271,7 +1272,7 @@ PostgresMain(int argc, char *argv[])
|
||||
*/
|
||||
if (IsUnderPostmaster == false) {
|
||||
puts("\nPOSTGRES backend interactive interface");
|
||||
puts("$Revision: 1.23 $ $Date: 1996/12/07 04:39:06 $");
|
||||
puts("$Revision: 1.24 $ $Date: 1996/12/26 22:07:40 $");
|
||||
}
|
||||
|
||||
/* ----------------
|
||||
|
||||
Reference in New Issue
Block a user