From 2afacfc403d439261b7a60c73e164423bc63bbc6 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter_e@gmx.net>
Date: Fri, 12 Dec 2003 18:45:10 +0000
Subject: [PATCH] This patch properly sets the prototype for the on_shmem_exit
 and on_proc_exit functions, and adjust all other related code to use the
 proper types too.

by Kurt Roeckx
---
 src/backend/access/transam/xlog.c         |  4 ++--
 src/backend/bootstrap/bootstrap.c         |  6 +++---
 src/backend/catalog/namespace.c           |  6 +++---
 src/backend/commands/async.c              |  6 +++---
 src/backend/libpq/pqcomm.c                |  8 ++++----
 src/backend/port/ipc_test.c               |  6 +++---
 src/backend/storage/file/fd.c             |  6 +++---
 src/backend/storage/freespace/freespace.c |  4 ++--
 src/backend/storage/ipc/ipc.c             |  8 ++++----
 src/backend/storage/lmgr/proc.c           | 10 +++++-----
 src/backend/storage/smgr/smgr.c           |  6 +++---
 src/backend/utils/init/postinit.c         |  6 +++---
 src/include/access/xlog.h                 |  4 ++--
 src/include/storage/freespace.h           |  4 ++--
 src/include/storage/ipc.h                 |  6 +++---
 15 files changed, 45 insertions(+), 45 deletions(-)

diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index ff64afe4f55..9aa19ea5945 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.126 2003/11/29 19:51:40 pgsql Exp $
+ * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.127 2003/12/12 18:45:08 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -3086,7 +3086,7 @@ GetRedoRecPtr(void)
  * This must be called ONCE during postmaster or standalone-backend shutdown
  */
 void
-ShutdownXLOG(void)
+ShutdownXLOG(int code, Datum arg)
 {
 	ereport(LOG,
 			(errmsg("shutting down")));
diff --git a/src/backend/bootstrap/bootstrap.c b/src/backend/bootstrap/bootstrap.c
index d23eb91735f..94daf943550 100644
--- a/src/backend/bootstrap/bootstrap.c
+++ b/src/backend/bootstrap/bootstrap.c
@@ -8,7 +8,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/bootstrap/bootstrap.c,v 1.169 2003/12/01 22:15:37 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/backend/bootstrap/bootstrap.c,v 1.170 2003/12/12 18:45:08 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -478,8 +478,8 @@ BootstrapMain(int argc, char *argv[])
 			proc_exit(0);		/* done */
 
 		case BS_XLOG_SHUTDOWN:
-			ShutdownXLOG();
-			DumpFreeSpaceMap();
+			ShutdownXLOG(0, 0);
+			DumpFreeSpaceMap(0, 0);
 			proc_exit(0);		/* done */
 
 		default:
diff --git a/src/backend/catalog/namespace.c b/src/backend/catalog/namespace.c
index 6fe6781f541..397a7517f95 100644
--- a/src/backend/catalog/namespace.c
+++ b/src/backend/catalog/namespace.c
@@ -13,7 +13,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/catalog/namespace.c,v 1.59 2003/11/29 19:51:45 pgsql Exp $
+ *	  $PostgreSQL: pgsql/src/backend/catalog/namespace.c,v 1.60 2003/12/12 18:45:08 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -130,7 +130,7 @@ char	   *namespace_search_path = NULL;
 static void recomputeNamespacePath(void);
 static void InitTempTableNamespace(void);
 static void RemoveTempRelations(Oid tempNamespaceId);
-static void RemoveTempRelationsCallback(void);
+static void RemoveTempRelationsCallback(int code, Datum arg);
 static void NamespaceCallback(Datum arg, Oid relid);
 
 /* These don't really need to appear in any header file */
@@ -1735,7 +1735,7 @@ RemoveTempRelations(Oid tempNamespaceId)
  * Callback to remove temp relations at backend exit.
  */
 static void
-RemoveTempRelationsCallback(void)
+RemoveTempRelationsCallback(int code, Datum arg)
 {
 	if (OidIsValid(myTempNamespace))	/* should always be true */
 	{
diff --git a/src/backend/commands/async.c b/src/backend/commands/async.c
index 7428fcec8b2..3063815533d 100644
--- a/src/backend/commands/async.c
+++ b/src/backend/commands/async.c
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/commands/async.c,v 1.105 2003/11/29 19:51:47 pgsql Exp $
+ *	  $PostgreSQL: pgsql/src/backend/commands/async.c,v 1.106 2003/12/12 18:45:08 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -120,7 +120,7 @@ bool		Trace_notify = false;
 
 
 static void Async_UnlistenAll(void);
-static void Async_UnlistenOnExit(void);
+static void Async_UnlistenOnExit(int code, Datum arg);
 static void ProcessIncomingNotify(void);
 static void NotifyMyFrontEnd(char *relname, int32 listenerPID);
 static bool AsyncExistsPendingNotify(const char *relname);
@@ -384,7 +384,7 @@ Async_UnlistenAll(void)
  *--------------------------------------------------------------
  */
 static void
-Async_UnlistenOnExit(void)
+Async_UnlistenOnExit(int code, Datum arg)
 {
 	/*
 	 * We need to start/commit a transaction for the unlisten, but if
diff --git a/src/backend/libpq/pqcomm.c b/src/backend/libpq/pqcomm.c
index 49fc229f90b..2252d8f5f06 100644
--- a/src/backend/libpq/pqcomm.c
+++ b/src/backend/libpq/pqcomm.c
@@ -30,7 +30,7 @@
  * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- *	$PostgreSQL: pgsql/src/backend/libpq/pqcomm.c,v 1.167 2003/11/29 19:51:49 pgsql Exp $
+ *	$PostgreSQL: pgsql/src/backend/libpq/pqcomm.c,v 1.168 2003/12/12 18:45:08 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -88,7 +88,7 @@
 #include "storage/ipc.h"
 
 
-static void pq_close(void);
+static void pq_close(int code, Datum arg);
 
 #ifdef HAVE_UNIX_SOCKETS
 static int	Lock_AF_UNIX(unsigned short portNumber, char *unixSocketName);
@@ -145,7 +145,7 @@ pq_init(void)
  * --------------------------------
  */
 static void
-pq_close(void)
+pq_close(int code, Datum arg)
 {
 	if (MyProcPort != NULL)
 	{
@@ -183,7 +183,7 @@ static char sock_path[MAXPGPATH];
  */
 #ifdef HAVE_UNIX_SOCKETS
 static void
-StreamDoUnlink(void)
+StreamDoUnlink(int code, Datum arg)
 {
 	Assert(sock_path[0]);
 	unlink(sock_path);
diff --git a/src/backend/port/ipc_test.c b/src/backend/port/ipc_test.c
index 8896414f51e..fef9f282f30 100644
--- a/src/backend/port/ipc_test.c
+++ b/src/backend/port/ipc_test.c
@@ -21,7 +21,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/port/ipc_test.c,v 1.11 2003/11/29 19:51:54 pgsql Exp $
+ *	  $PostgreSQL: pgsql/src/backend/port/ipc_test.c,v 1.12 2003/12/12 18:45:09 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -62,7 +62,7 @@ bool		assert_enabled = true;
 
 static struct ONEXIT
 {
-	void		(*function) ();
+	void		(*function) (int code, Datum arg);
 	Datum		arg;
 }	on_proc_exit_list[MAX_ON_EXITS], on_shmem_exit_list[MAX_ON_EXITS];
 
@@ -89,7 +89,7 @@ shmem_exit(int code)
 }
 
 void
-			on_shmem_exit(void (*function) (), Datum arg)
+on_shmem_exit(void (*function) (int code, Datum arg), Datum arg)
 {
 	if (on_shmem_exit_index >= MAX_ON_EXITS)
 		elog(FATAL, "out of on_shmem_exit slots");
diff --git a/src/backend/storage/file/fd.c b/src/backend/storage/file/fd.c
index f7fc421ccb8..78814d77b63 100644
--- a/src/backend/storage/file/fd.c
+++ b/src/backend/storage/file/fd.c
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/storage/file/fd.c,v 1.103 2003/11/29 19:51:56 pgsql Exp $
+ *	  $PostgreSQL: pgsql/src/backend/storage/file/fd.c,v 1.104 2003/12/12 18:45:09 petere Exp $
  *
  * NOTES:
  *
@@ -205,7 +205,7 @@ static int	FileAccess(File file);
 static File fileNameOpenFile(FileName fileName, int fileFlags, int fileMode);
 static char *filepath(const char *filename);
 static long pg_nofile(void);
-static void AtProcExit_Files(void);
+static void AtProcExit_Files(int code, Datum arg);
 static void CleanupTempFiles(bool isProcExit);
 
 
@@ -1141,7 +1141,7 @@ AtEOXact_Files(void)
  * Here, we want to clean up *all* temp files including interXact ones.
  */
 static void
-AtProcExit_Files(void)
+AtProcExit_Files(int code, Datum arg)
 {
 	CleanupTempFiles(true);
 }
diff --git a/src/backend/storage/freespace/freespace.c b/src/backend/storage/freespace/freespace.c
index 8234ad87839..a7bffb5c733 100644
--- a/src/backend/storage/freespace/freespace.c
+++ b/src/backend/storage/freespace/freespace.c
@@ -8,7 +8,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/storage/freespace/freespace.c,v 1.26 2003/11/29 19:51:56 pgsql Exp $
+ *	  $PostgreSQL: pgsql/src/backend/storage/freespace/freespace.c,v 1.27 2003/12/12 18:45:09 petere Exp $
  *
  *
  * NOTES:
@@ -717,7 +717,7 @@ PrintFreeSpaceMapStatistics(int elevel)
  * forma --- if anyone else is still accessing FSM, there's a problem.
  */
 void
-DumpFreeSpaceMap(void)
+DumpFreeSpaceMap(int code, Datum arg)
 {
 	FILE	   *fp;
 	char		cachefilename[MAXPGPATH];
diff --git a/src/backend/storage/ipc/ipc.c b/src/backend/storage/ipc/ipc.c
index 657b26b0026..3898331c40a 100644
--- a/src/backend/storage/ipc/ipc.c
+++ b/src/backend/storage/ipc/ipc.c
@@ -13,7 +13,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/storage/ipc/ipc.c,v 1.86 2003/11/29 19:51:56 pgsql Exp $
+ *	  $PostgreSQL: pgsql/src/backend/storage/ipc/ipc.c,v 1.87 2003/12/12 18:45:09 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -53,7 +53,7 @@ bool		proc_exit_inprogress = false;
 
 static struct ONEXIT
 {
-	void		(*function) ();
+	void		(*function) (int code, Datum arg);
 	Datum		arg;
 }	on_proc_exit_list[MAX_ON_EXITS], on_shmem_exit_list[MAX_ON_EXITS];
 
@@ -146,7 +146,7 @@ shmem_exit(int code)
  * ----------------------------------------------------------------
  */
 void
-			on_proc_exit(void (*function) (), Datum arg)
+on_proc_exit(void (*function) (int code, Datum arg), Datum arg)
 {
 	if (on_proc_exit_index >= MAX_ON_EXITS)
 		ereport(FATAL,
@@ -167,7 +167,7 @@ void
  * ----------------------------------------------------------------
  */
 void
-			on_shmem_exit(void (*function) (), Datum arg)
+on_shmem_exit(void (*function) (int code, Datum arg), Datum arg)
 {
 	if (on_shmem_exit_index >= MAX_ON_EXITS)
 		ereport(FATAL,
diff --git a/src/backend/storage/lmgr/proc.c b/src/backend/storage/lmgr/proc.c
index 14434d059a8..effe5ac5246 100644
--- a/src/backend/storage/lmgr/proc.c
+++ b/src/backend/storage/lmgr/proc.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/storage/lmgr/proc.c,v 1.139 2003/12/01 21:59:25 momjian Exp $
+ *	  $PostgreSQL: pgsql/src/backend/storage/lmgr/proc.c,v 1.140 2003/12/12 18:45:09 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -84,8 +84,8 @@ static volatile bool deadlock_timeout_active = false;
 static struct timeval statement_fin_time;
 
 
-static void ProcKill(void);
-static void DummyProcKill(void);
+static void ProcKill(int code, Datum arg);
+static void DummyProcKill(int code, Datum arg);
 static bool CheckStatementTimeout(void);
 
 
@@ -406,7 +406,7 @@ ProcReleaseLocks(bool isCommit)
  *		this process. Release any of its held LW locks.
  */
 static void
-ProcKill(void)
+ProcKill(int code, Datum arg)
 {
 	/* use volatile pointer to prevent code rearrangement */
 	volatile PROC_HDR *procglobal = ProcGlobal;
@@ -455,7 +455,7 @@ ProcKill(void)
  *		as not-in-use.
  */
 static void
-DummyProcKill(void)
+DummyProcKill(int code, Datum arg)
 {
 	PGPROC	*dummyproc;
 
diff --git a/src/backend/storage/smgr/smgr.c b/src/backend/storage/smgr/smgr.c
index 343eb492534..3650ebb6cb7 100644
--- a/src/backend/storage/smgr/smgr.c
+++ b/src/backend/storage/smgr/smgr.c
@@ -11,7 +11,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/storage/smgr/smgr.c,v 1.66 2003/11/29 19:51:57 pgsql Exp $
+ *	  $PostgreSQL: pgsql/src/backend/storage/smgr/smgr.c,v 1.67 2003/12/12 18:45:09 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -24,7 +24,7 @@
 #include "utils/memutils.h"
 
 
-static void smgrshutdown(void);
+static void smgrshutdown(int code, Datum arg);
 
 typedef struct f_smgr
 {
@@ -142,7 +142,7 @@ smgrinit(void)
 }
 
 static void
-smgrshutdown(void)
+smgrshutdown(int code, Datum arg)
 {
 	int			i;
 
diff --git a/src/backend/utils/init/postinit.c b/src/backend/utils/init/postinit.c
index 6233f0c9158..ba446310530 100644
--- a/src/backend/utils/init/postinit.c
+++ b/src/backend/utils/init/postinit.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/utils/init/postinit.c,v 1.130 2003/11/29 19:52:01 pgsql Exp $
+ *	  $PostgreSQL: pgsql/src/backend/utils/init/postinit.c,v 1.131 2003/12/12 18:45:09 petere Exp $
  *
  *
  *-------------------------------------------------------------------------
@@ -43,7 +43,7 @@
 
 static void ReverifyMyDatabase(const char *name);
 static void InitCommunication(void);
-static void ShutdownPostgres(void);
+static void ShutdownPostgres(int code, Datum arg);
 static bool ThereIsAtLeastOneUser(void);
 
 
@@ -453,7 +453,7 @@ InitPostgres(const char *dbname, const char *username)
  * cleanup fails.
  */
 static void
-ShutdownPostgres(void)
+ShutdownPostgres(int code, Datum arg)
 {
 	/*
 	 * These operations are really just a minimal subset of
diff --git a/src/include/access/xlog.h b/src/include/access/xlog.h
index c1602073bb9..751e8803202 100644
--- a/src/include/access/xlog.h
+++ b/src/include/access/xlog.h
@@ -6,7 +6,7 @@
  * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/access/xlog.h,v 1.45 2003/11/29 22:40:55 pgsql Exp $
+ * $PostgreSQL: pgsql/src/include/access/xlog.h,v 1.46 2003/12/12 18:45:10 petere Exp $
  */
 #ifndef XLOG_H
 #define XLOG_H
@@ -207,7 +207,7 @@ extern void XLOGShmemInit(void);
 extern void XLOGPathInit(void);
 extern void BootStrapXLOG(void);
 extern void StartupXLOG(void);
-extern void ShutdownXLOG(void);
+extern void ShutdownXLOG(int code, Datum arg);
 extern void CreateCheckPoint(bool shutdown, bool force);
 extern void SetThisStartUpID(void);
 extern void XLogPutNextOid(Oid nextOid);
diff --git a/src/include/storage/freespace.h b/src/include/storage/freespace.h
index f7d3ead1215..b97e3fd41ec 100644
--- a/src/include/storage/freespace.h
+++ b/src/include/storage/freespace.h
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/storage/freespace.h,v 1.14 2003/11/29 22:41:13 pgsql Exp $
+ * $PostgreSQL: pgsql/src/include/storage/freespace.h,v 1.15 2003/12/12 18:45:10 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -60,7 +60,7 @@ extern void FreeSpaceMapForgetDatabase(Oid dbid);
 
 extern void PrintFreeSpaceMapStatistics(int elevel);
 
-extern void DumpFreeSpaceMap(void);
+extern void DumpFreeSpaceMap(int code, Datum arg);
 extern void LoadFreeSpaceMap(void);
 
 #ifdef FREESPACE_DEBUG
diff --git a/src/include/storage/ipc.h b/src/include/storage/ipc.h
index 145b1e3beed..fb59cd0200a 100644
--- a/src/include/storage/ipc.h
+++ b/src/include/storage/ipc.h
@@ -11,7 +11,7 @@
  * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/storage/ipc.h,v 1.62 2003/11/29 22:41:13 pgsql Exp $
+ * $PostgreSQL: pgsql/src/include/storage/ipc.h,v 1.63 2003/12/12 18:45:10 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -24,8 +24,8 @@ extern bool proc_exit_inprogress;
 
 extern void proc_exit(int code);
 extern void shmem_exit(int code);
-extern void on_proc_exit(void (*function) (), Datum arg);
-extern void on_shmem_exit(void (*function) (), Datum arg);
+extern void on_proc_exit(void (*function) (int code, Datum arg), Datum arg);
+extern void on_shmem_exit(void (*function) (int code, Datum arg), Datum arg);
 extern void on_exit_reset(void);
 
 /* ipci.c */
-- 
GitLab