martin      99/02/16 05:41:01

  Modified:    src/support suexec.c
  Log:
  Initialize Job Environment on BS2000
  (not relevant for any other platform)
  
  Revision  Changes    Path
  1.49      +27 -0     apache-1.3/src/support/suexec.c
  
  Index: suexec.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/support/suexec.c,v
  retrieving revision 1.48
  retrieving revision 1.49
  diff -u -r1.48 -r1.49
  --- suexec.c  1999/01/01 19:05:35     1.48
  +++ suexec.c  1999/02/16 13:41:00     1.49
  @@ -341,6 +341,33 @@
        actual_gname = strdup(target_gname);
       }
   
  +#ifdef _OSD_POSIX
  +    /*
  +     * Initialize BS2000 user environment
  +     */
  +    {
  +     pid_t pid;
  +     int status;
  +
  +     switch (pid = ufork(target_uname))
  +     {
  +     case -1:        /* Error */
  +         log_err("failed to setup bs2000 environment for user %s: %s\n",
  +                 target_uname, strerror(errno));
  +         exit(150);
  +     case 0: /* Child */
  +         break;
  +     default:        /* Father */
  +         while (pid != waitpid(pid, &status, 0))
  +             ;
  +         /* @@@ FIXME: should we deal with STOP signals as well? */
  +         if (WIFSIGNALED(status))
  +             kill (getpid(), WTERMSIG(status));
  +         exit(WEXITSTATUS(status));
  +     }
  +    }
  +#endif /*_OSD_POSIX*/
  +
       /*
        * Save these for later since initgroups will hose the struct
        */
  
  
  

Reply via email to