aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/tcop/postgres.c7
-rw-r--r--src/backend/utils/error/elog.c11
2 files changed, 12 insertions, 6 deletions
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index 53203521356..7211bc19283 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.2 1996/07/15 19:22:17 scrappy Exp $
+ * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.3 1996/07/19 06:13:42 scrappy Exp $
*
* NOTES
* this is the "main" module of the postgres backend and
@@ -111,6 +111,7 @@ jmp_buf Warn_restart;
#else
sigjmp_buf Warn_restart;
#endif /*defined(WIN32) || defined(PORTNAME_next) */
+int InWarn;
extern int NBuffers;
@@ -1203,6 +1204,7 @@ PostgresMain(int argc, char *argv[])
#else
if (setjmp(Warn_restart) != 0) {
#endif /* WIN32 */
+ InWarn = 1;
time(&tim);
@@ -1213,6 +1215,7 @@ PostgresMain(int argc, char *argv[])
AbortCurrentTransaction();
}
+ InWarn = 0;
/* ----------------
* POSTGRES main processing loop begins here
@@ -1220,7 +1223,7 @@ PostgresMain(int argc, char *argv[])
*/
if (IsUnderPostmaster == false) {
puts("\nPOSTGRES backend interactive interface");
- puts("$Revision: 1.2 $ $Date: 1996/07/15 19:22:17 $");
+ puts("$Revision: 1.3 $ $Date: 1996/07/19 06:13:42 $");
}
/* ----------------
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index bf7d15e5582..74b2edaa7b1 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/error/elog.c,v 1.2 1996/07/16 07:13:47 scrappy Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/error/elog.c,v 1.3 1996/07/19 06:13:58 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
@@ -150,13 +150,16 @@ elog(int lev, char *fmt, ... )
#endif /* !PG_STANDALONE */
if (lev == WARN) {
+ extern int InWarn;
ProcReleaseSpins(NULL); /* get rid of spinlocks we hold */
+ if (!InWarn) {
#ifndef WIN32
- kill(getpid(), 1); /* abort to traffic cop */
- pause();
+ kill(getpid(), 1); /* abort to traffic cop */
+ pause();
#else
- longjmp(Warn_restart, 1);
+ longjmp(Warn_restart, 1);
#endif /* WIN32 */
+ }
/*
* The pause(3) is just to avoid race conditions where the
* thread of control on an MP system gets past here (i.e.,