Fixed stupid error in previous patch, available on http://lists.alioth.debian.org/pipermail/pkg-java-maintainers/2008-March/016040.html
-- С уважением, Александр Николаевич Головко системный администратор ЗАО "Стек Софт" [EMAIL PROTECTED] +7-495-9806005 доб.274
ôÏÌØËÏ × 123/src/native/unix: autom4te.cache ôÏÌØËÏ × 123/src/native/unix: configure diff -ur 123.orig/src/native/unix/native/jsvc-unix.c 123/src/native/unix/native/jsvc-unix.c --- 123.orig/src/native/unix/native/jsvc-unix.c 2008-03-27 16:33:39.000000000 +0300 +++ 123/src/native/unix/native/jsvc-unix.c 2008-04-01 11:06:43.000000000 +0400 @@ -43,19 +43,25 @@ #endif extern char **environ; +arg_data *args=NULL; +home_data *data=NULL; static mode_t envmask; /* mask to create the files */ pid_t controlled=0; /* the son process pid */ pid_t logger_pid=0; /* the logger process pid */ static bool stopping=false; -static bool doreload=false; +static bool doreopen=false; static void (*handler_int)(int)=NULL; static void (*handler_hup)(int)=NULL; +static void (*handler_usr1)(int)=NULL; static void (*handler_trm)(int)=NULL; static int run_controller(arg_data *args, home_data *data, uid_t uid, gid_t gid); +static void set_output(char *outfile, char *errfile, char *procname); +static void * signal_set(int sig, void * newHandler); + #ifdef OS_CYGWIN /* @@ -117,6 +123,13 @@ break; } + case SIGUSR1: { + log_debug("Caught SIGUSR1: Reopening logs"); + set_output(args->outfile, args->errfile, args->procname); + handler_usr1=signal_set(SIGUSR1,handler); + break; + } + default: { log_debug("Caught unknown signal %d",sig); break; @@ -283,6 +296,7 @@ case SIGTERM: case SIGINT: case SIGHUP: + case SIGUSR1: log_debug("Forwarding signal %d to process %d",sig,controlled); kill(controlled,sig); signal(sig,controller); @@ -575,6 +589,7 @@ /* Install signal handlers */ handler_hup=signal_set(SIGHUP,handler); + handler_usr1=signal_set(SIGUSR1,handler); handler_trm=signal_set(SIGTERM,handler); handler_int=signal_set(SIGINT,handler); controlled = getpid(); @@ -751,8 +766,6 @@ } int main(int argc, char *argv[]) { - arg_data *args=NULL; - home_data *data=NULL; pid_t pid=0; uid_t uid=0; gid_t gid=0; @@ -885,6 +898,7 @@ SetTerm(cygwincontroller); #endif signal(SIGHUP, controller); + signal(SIGUSR1, controller); signal(SIGTERM, controller); signal(SIGINT, controller);