diff options
| author | Bruce Momjian <bruce@momjian.us> | 2005-08-12 03:25:13 +0000 |
|---|---|---|
| committer | Bruce Momjian <bruce@momjian.us> | 2005-08-12 03:25:13 +0000 |
| commit | b609695b7a5c1cf7c1234143eeb35809d00ff741 (patch) | |
| tree | e8777cf8e513d49c0e30cc5fd0f8d793115c141a /src/backend/postmaster/syslogger.c | |
| parent | d95886e7340b3812bbe30098da053f4d167b34a5 (diff) | |
| download | postgresql-b609695b7a5c1cf7c1234143eeb35809d00ff741.tar.gz | |
Add files to do read I/O on the cluster directory:
pg_stat_file()
pg_read_file()
pg_ls_dir()
pg_reload_conf()
pg_rotate_logfile()
Dave Page
Andreas Pflug
Diffstat (limited to 'src/backend/postmaster/syslogger.c')
| -rw-r--r-- | src/backend/postmaster/syslogger.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c index a97a4183df..e5aa153dd4 100644 --- a/src/backend/postmaster/syslogger.c +++ b/src/backend/postmaster/syslogger.c @@ -18,7 +18,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/postmaster/syslogger.c,v 1.18 2005/07/21 18:06:12 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/postmaster/syslogger.c,v 1.19 2005/08/12 03:23:51 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -101,6 +101,7 @@ static CRITICAL_SECTION sysfileSection; * Flags set by interrupt handlers for later service in the main loop. */ static volatile sig_atomic_t got_SIGHUP = false; +static volatile sig_atomic_t rotation_requested = false; /* Local subroutines */ @@ -117,6 +118,7 @@ static void logfile_rotate(bool time_based_rotation); static char *logfile_getname(pg_time_t timestamp); static void set_next_rotation_time(void); static void sigHupHandler(SIGNAL_ARGS); +static void sigUsr1Handler(SIGNAL_ARGS); /* @@ -200,7 +202,7 @@ SysLoggerMain(int argc, char *argv[]) pqsignal(SIGQUIT, SIG_IGN); pqsignal(SIGALRM, SIG_IGN); pqsignal(SIGPIPE, SIG_IGN); - pqsignal(SIGUSR1, SIG_IGN); + pqsignal(SIGUSR1, sigUsr1Handler); /* request log rotation */ pqsignal(SIGUSR2, SIG_IGN); /* @@ -235,7 +237,6 @@ SysLoggerMain(int argc, char *argv[]) /* main worker loop */ for (;;) { - bool rotation_requested = false; bool time_based_rotation = false; #ifndef WIN32 @@ -726,6 +727,8 @@ logfile_rotate(bool time_based_rotation) char *filename; FILE *fh; + rotation_requested = false; + /* * When doing a time-based rotation, invent the new logfile name based * on the planned rotation time, not current time, to avoid "slippage" @@ -876,3 +879,10 @@ sigHupHandler(SIGNAL_ARGS) { got_SIGHUP = true; } + +/* SIGUSR1: set flag to rotate logfile */ +static void +sigUsr1Handler(SIGNAL_ARGS) +{ + rotation_requested = true; +} |
