]> granicus.if.org Git - postgresql/blobdiff - src/backend/bootstrap/bootstrap.c
lease find enclosed a patch that matches the PL/Perl documentation
[postgresql] / src / backend / bootstrap / bootstrap.c
index 4e219df4f5b703d447171b5ef612ccbfc9d77b62..43f694886313d09238fec6a4ce16c4c80c604e0a 100644 (file)
@@ -8,7 +8,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/bootstrap/bootstrap.c,v 1.187 2004/07/17 03:28:37 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/bootstrap/bootstrap.c,v 1.188 2004/07/21 20:22:58 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -34,6 +34,7 @@
 #include "libpq/pqsignal.h"
 #include "miscadmin.h"
 #include "postmaster/bgwriter.h"
+#include "postmaster/pg_autovacuum.h"
 #include "storage/freespace.h"
 #include "storage/ipc.h"
 #include "storage/pg_shmem.h"
@@ -355,6 +356,9 @@ BootstrapMain(int argc, char *argv[])
                        case BS_XLOG_BGWRITER:
                                statmsg = "writer process";
                                break;
+                       case BS_XLOG_AUTOVAC:
+                               statmsg = "auto vacuum process";
+                               break;
                        default:
                                statmsg = "??? process";
                                break;
@@ -391,6 +395,9 @@ BootstrapMain(int argc, char *argv[])
                        case BS_XLOG_BGWRITER:
                                InitDummyProcess(DUMMY_PROC_BGWRITER);
                                break;
+                       case BS_XLOG_AUTOVAC:
+                               InitDummyProcess(DUMMY_PROC_AUTOVAC);
+                               break;
 
                        default:
                                InitDummyProcess(DUMMY_PROC_DEFAULT);
@@ -427,6 +434,12 @@ BootstrapMain(int argc, char *argv[])
                        BackgroundWriterMain();
                        proc_exit(1);           /* should never return */
 
+               case BS_XLOG_AUTOVAC:
+                       /* don't set signals, autovac has its own agenda */
+                       InitXLOGAccess();
+                       AutoVacMain();
+                       proc_exit(1);           /* should never return */
+               
                default:
                        elog(PANIC, "unrecognized XLOG op: %d", xlogop);
                        proc_exit(1);