cvs commit: apache-2.0/src/lib/apr/test testsig.c

1999-10-18 Thread bjh
bjh 99/10/18 03:32:16

  Modified:src/lib/apr/test testsig.c
  Log:
  Improve/fix signal test program.
  
  Revision  ChangesPath
  1.6   +30 -6 apache-2.0/src/lib/apr/test/testsig.c
  
  Index: testsig.c
  ===
  RCS file: /home/cvs/apache-2.0/src/lib/apr/test/testsig.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- testsig.c 1999/10/11 17:52:01 1.5
  +++ testsig.c 1999/10/18 10:32:15 1.6
  @@ -69,7 +69,7 @@
   
   void hup_handler(int sig)
   {
  -fprintf(stdout, I got the signal\n);
  +fprintf(stdout, I got the signal, );
   time_to_die++;
   }
   
  @@ -85,22 +85,35 @@
   ap_create_context(context, NULL);
   
   if (argc  1) {
  -
   ap_setup_signal(APR_SIGHUP, hup_handler, context);
  +fprintf(stdout, Child started, waiting for signal\n);
   
   while(time_to_die == 0) {
   sleep(1);
   }
  +
  +fprintf(stdout, Child exiting.\n);
   return(1);
   }
   
   fprintf(stdout, Creating new signal...);
  +fflush(stdout);
   if (ap_create_signal(APR_SIGHUP, context) != APR_SUCCESS) {
  -fprintf(stderr, Could not create attr\n);
  +fprintf(stderr, Could not create signal\n);
  +exit(-1);
  +}
  +fprintf(stdout, OK\n);
  +
  +fprintf(stdout, Setting parent to ignore SIGHUP...);
  +fflush(stdout);
  +if (ap_setup_signal(APR_SIGHUP, SIG_IGN, context)) {
  +fprintf(stderr, Could not set signal\n);
   exit(-1);
   }
   fprintf(stdout, OK\n);
   
  +fprintf(stdout, Creating child process...);
  +fflush(stdout);
   if (ap_createprocattr_init(attr, context) != APR_SUCCESS) {
   fprintf(stderr, Could not create attr\n);
   exit(-1);;
  @@ -115,13 +128,24 @@
   fprintf(stderr, Could not create the new process\n);
   exit(-1);
   }
  +fprintf(stdout, OK\n);
   
  +sleep(1); /* Give child time to get going */
   fprintf(stdout, Sending the signal...);
   fflush(stdout);
  -ap_send_signal(APR_SIGHUP, context);
  -
  -ap_wait_proc(newproc, APR_WAIT);
  +if (ap_send_signal(APR_SIGHUP, context) != APR_SUCCESS) {
  +fprintf(stderr, Could not send signal\n );
  +exit(-1);
  +} 
  +fprintf(stdout, OK\n);
   
  +fprintf(stdout, Waiting for child...\n);
  +if (ap_wait_proc(newproc, APR_WAIT) != APR_CHILD_DONE) {
  +fprintf(stderr, Error waiting for child\n );
  +exit(-1);
  +}
  +fprintf(stdout, Waiting for child...OK\n);
  +
   return(1);
   }
   
  
  
  


cvs commit: apache-2.0/src/lib/apr/test testsig.c

1999-10-11 Thread rbb
rbb 99/10/10 18:39:25

  Modified:src/lib/apr/include apr_general.h
   src/lib/apr/signal/beos signal.c
   src/lib/apr/signal/unix signal.c
   src/lib/apr/signal/win32 signal.c
   src/lib/apr/test testsig.c
  Log:
  Bring signals up to the current APR parameter order spec.
  
  Revision  ChangesPath
  1.7   +3 -3  apache-2.0/src/lib/apr/include/apr_general.h
  
  Index: apr_general.h
  ===
  RCS file: /home/cvs/apache-2.0/src/lib/apr/include/apr_general.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- apr_general.h 1999/10/08 20:03:45 1.6
  +++ apr_general.h 1999/10/11 01:39:21 1.7
  @@ -233,9 +233,9 @@
   ap_status_t ap_get_userdata(void **, char *, ap_context_t *);
   ap_status_t ap_initialize(void);
   
  -ap_status_t ap_create_signal(ap_context_t *, ap_signum_t);
  -ap_status_t ap_send_signal(ap_context_t *, ap_signum_t);
  -ap_status_t ap_setup_signal(ap_context_t *, ap_signum_t, Sigfunc *);
  +ap_status_t ap_create_signal(ap_signum_t, ap_context_t *);
  +ap_status_t ap_send_signal(ap_signum_t, ap_context_t *);
  +ap_status_t ap_setup_signal(ap_signum_t, Sigfunc *, ap_context_t *);
   
   ap_status_t ap_getopt(ap_context_t *, ap_int32_t, char *const *, const char 
*,
 ap_int32_t *); 
  
  
  
  1.3   +3 -3  apache-2.0/src/lib/apr/signal/beos/signal.c
  
  Index: signal.c
  ===
  RCS file: /home/cvs/apache-2.0/src/lib/apr/signal/beos/signal.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- signal.c  1999/09/07 13:16:59 1.2
  +++ signal.c  1999/10/11 01:39:22 1.3
  @@ -58,7 +58,7 @@
   #include signal.h
   #include kernel/OS.h
   
  -ap_status_t ap_create_signal(ap_context_t *cont, ap_signum_t signum)
  +ap_status_t ap_create_signal(ap_signum_t signum, ap_context_t *cont)
   {
   return APR_SUCCESS;
   }
  @@ -68,7 +68,7 @@
* that is solved, this will change here.
*/

  -ap_status_t ap_send_signal(ap_context_t *cont, ap_signum_t signum)
  +ap_status_t ap_send_signal(ap_signum_t signum, ap_context_t *cont)
   {
   /* this function sends a signal to every thread within the current team
* except the one calling it! */
  @@ -84,7 +84,7 @@
}
   }
   
  -ap_setup_signal(ap_context_t *cont, ap_signum_t signum, Sigfunc *func)
  +ap_setup_signal(ap_signum_t signum, Sigfunc *func, ap_context_t *cont)
   {
   /* Thanks to Chris Tate at Be for the code below */
   sigset_t newset, oldset;
  
  
  
  1.3   +6 -6  apache-2.0/src/lib/apr/signal/unix/signal.c
  
  Index: signal.c
  ===
  RCS file: /home/cvs/apache-2.0/src/lib/apr/signal/unix/signal.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- signal.c  1999/09/12 11:12:54 1.2
  +++ signal.c  1999/10/11 01:39:23 1.3
  @@ -64,7 +64,7 @@
   #endif
   
   /* ***APRDOC
  - * ap_status_t ap_create_signal(ap_context_t *, ap_signum_t)
  + * ap_status_t ap_create_signal(ap_signum_t, ap_context_t *)
*Create a signal for use later on. 
* arg 1) The context to operate on.
* arg 2) The signal we are creating.  One of:
  @@ -73,13 +73,13 @@
*   This is for Windows to be able to send signals, so your program
*   won't be portable without it. 
*/  
   
  -ap_status_t ap_create_signal(ap_context_t *cont, ap_signum_t signum)
  +ap_status_t ap_create_signal(ap_signum_t signum, ap_context_t *cont)
   {
   return APR_SUCCESS;
   }
   
   /* ***APRDOC
  - * ap_status_t ap_send_signal(ap_context_t *, ap_signum_t)
  + * ap_status_t ap_send_signal(ap_signum_t, ap_context_t *)
*Send a signal to your process group 
* arg 1) The context to operate on.
* arg 2) The signal we are sending.  Same as above list
  @@ -87,7 +87,7 @@
*figured out how to send to individual children on Windows yet.  
When
*that is solved, this will change here.
*/
  -ap_status_t ap_send_signal(ap_context_t *cont, ap_signum_t signum)
  +ap_status_t ap_send_signal(ap_signum_t signum, ap_context_t *cont)
   {
   killpg(0, signum);
   return APR_SUCCESS;
  @@ -100,8 +100,8 @@
* arg 2) The signal we are expecting to receive.  Same as above list
* arg 3) The function to execute when this signal is received.
*/
  -ap_status_t ap_setup_signal(ap_context_t *cont, ap_signum_t signum,
  - Sigfunc *func)
  +ap_status_t ap_setup_signal(ap_signum_t signum, Sigfunc *func,
  +ap_context_t *cont)
   {
   sigset_t newset;