Finally merge the journal patch:

(keep_journal): New econfig key.
(player_main): Log player login and logout.
(recvclient): Log player input.
(ef_open_srv, ef_close_srv): Log startup and shutdown.
(update_main): Log update.

Support the common SIGHUP log rotation idiom:
(empth_wait_for_shutdown, empth_wait_for_signal): Rename.
[EMPTH_LWP, EMPTH_POSIX] (empth_init, empth_wait_for_signal): Wait for
SIGHUP as well.
(main) [SIGHUP]: Reopen journal when empth_wait_for_signal() returns
SIGHUP.
This commit is contained in:
Markus Armbruster 2006-06-08 20:11:26 +00:00
parent ff2a162587
commit 1ca0b5cb2b
13 changed files with 239 additions and 9 deletions

View file

@ -49,6 +49,7 @@ empth_init(void **ctx, int flags)
empth_flags = flags;
empth_init_signals();
sigemptyset(&set);
sigaddset(&set, SIGHUP);
sigaddset(&set, SIGINT);
sigaddset(&set, SIGTERM);
lwpInitSystem(PP_MAIN, ctx, flags, &set);
@ -108,13 +109,14 @@ empth_sleep(time_t until)
}
int
empth_wait_for_shutdown(void)
empth_wait_for_signal(void)
{
sigset_t set;
int sig, err;
time_t now;
sigemptyset(&set);
sigaddset(&set, SIGHUP);
sigaddset(&set, SIGINT);
sigaddset(&set, SIGTERM);
for (;;) {

View file

@ -577,7 +577,7 @@ empth_sleep(time_t until)
/************************
* empth_request_shutdown
*
* This wakes up empth_wait_for_shutdown() so shutdown can proceed.
* This wakes up empth_wait_for_signal() so shutdown can proceed.
* This is done by signalling hShutdownEvent.
*/
void
@ -587,7 +587,7 @@ empth_request_shutdown(void)
}
int
empth_wait_for_shutdown(void)
empth_wait_for_signal(void)
{
/* Get the MUTEX semaphore, wait the number of MS */
WaitForSingleObject(hShutdownEvent, INFINITE);

View file

@ -152,6 +152,7 @@ empth_init(void **ctx_ptr, int flags)
empth_init_signals();
sigemptyset(&set);
sigaddset(&set, SIGHUP);
sigaddset(&set, SIGINT);
sigaddset(&set, SIGTERM);
pthread_sigmask(SIG_BLOCK, &set, NULL);
@ -379,12 +380,13 @@ empth_sleep(time_t until)
}
int
empth_wait_for_shutdown(void)
empth_wait_for_signal(void)
{
sigset_t set;
int sig, err;
sigemptyset(&set);
sigaddset(&set, SIGHUP);
sigaddset(&set, SIGINT);
sigaddset(&set, SIGTERM);
pthread_mutex_unlock(&mtx_ctxsw);