@ -7,7 +7,7 @@
* Portions Copyright ( c ) 1996 - 2009 , PostgreSQL Global Development Group
* Portions Copyright ( c ) 1994 , Regents of the University of California
*
* $ PostgreSQL : pgsql / src / backend / access / transam / xlog . c , v 1.339 2009 / 05 / 14 21 : 28 : 35 tgl Exp $
* $ PostgreSQL : pgsql / src / backend / access / transam / xlog . c , v 1.340 2009 / 05 / 15 15 : 56 : 39 tgl Exp $
*
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*/
@ -7790,14 +7790,22 @@ startupproc_quickdie(SIGNAL_ARGS)
PG_SETMASK ( & BlockSig ) ;
/*
* DO NOT proc_exit ( ) - - we ' re here because shared memory may be
* corrupted , so we don ' t want to try to clean up our transaction . Just
* nail the windows shut and get out of town .
*
* We DO NOT want to run proc_exit ( ) callbacks - - we ' re here because
* shared memory may be corrupted , so we don ' t want to try to clean up our
* transaction . Just nail the windows shut and get out of town . Now that
* there ' s an atexit callback to prevent third - party code from breaking
* things by calling exit ( ) directly , we have to reset the callbacks
* explicitly to make this work as intended .
*/
on_exit_reset ( ) ;
/*
* Note we do exit ( 2 ) not exit ( 0 ) . This is to force the postmaster into a
* system reset cycle if some idiot DBA sends a manual SIGQUIT to a random
* backend . This is necessary precisely because we don ' t clean up our
* shared memory state .
* shared memory state . ( The " dead man switch " mechanism in pmsignal . c
* should ensure the postmaster sees this as a crash , too , but no harm
* in being doubly sure . )
*/
exit ( 2 ) ;
}