Commit fb65f7d6 authored by Alexandre Julliard's avatar Alexandre Julliard

Dump server objects on SIGHUP.

parent 5bc78089
...@@ -150,6 +150,16 @@ static void handle_timeout( struct timeout_user *user ) ...@@ -150,6 +150,16 @@ static void handle_timeout( struct timeout_user *user )
free( user ); free( user );
} }
#ifdef DEBUG_OBJECTS
static int do_dump_objects;
/* SIGHUP handler */
static void sighup()
{
do_dump_objects = 1;
}
#endif
/* server main loop */ /* server main loop */
void select_loop(void) void select_loop(void)
{ {
...@@ -157,6 +167,9 @@ void select_loop(void) ...@@ -157,6 +167,9 @@ void select_loop(void)
setsid(); setsid();
signal( SIGPIPE, SIG_IGN ); signal( SIGPIPE, SIG_IGN );
#ifdef DEBUG_OBJECTS
signal( SIGHUP, sighup );
#endif
while (nb_users) while (nb_users)
{ {
...@@ -199,7 +212,14 @@ void select_loop(void) ...@@ -199,7 +212,14 @@ void select_loop(void)
if (!ret) continue; if (!ret) continue;
if (ret == -1) { if (ret == -1) {
if (errno == EINTR) continue; if (errno == EINTR)
{
#ifdef DEBUG_OBJECTS
if (do_dump_objects) dump_objects();
do_dump_objects = 0;
#endif
continue;
}
perror("select"); perror("select");
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment