rbb         99/09/11 08:58:44

  Modified:    src/modules/mpm/dexter acceptlock.c
               src/modules/mpm/mpmt_pthread acceptlock.c scoreboard.c
  Log:
  This change should allow Apache to build on all platforms with the popenf
  changes.  I have not been able to test this, but it should be evident what I
  am doing if it doesn't work.
  
  Revision  Changes    Path
  1.7       +6 -3      apache-2.0/src/modules/mpm/dexter/acceptlock.c
  
  Index: acceptlock.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/modules/mpm/dexter/acceptlock.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- acceptlock.c      1999/09/08 18:58:46     1.6
  +++ acceptlock.c      1999/09/11 15:58:35     1.7
  @@ -574,12 +574,14 @@
    */ 
   void accept_mutex_child_init(ap_context_t *p)
   {
  +    ap_file_t *tempfile = NULL;
       int i;
     
       for (i = 0; i < lock_count; i++) {
           char *lock_fname = expand_lock_fname(p, i);
       
  -        lock_fd[i] = ap_popenf(p, lock_fname, O_WRONLY, 0600);
  +        ap_open(p, lock_fname, APR_WRITE, APR_UREAD | APR_UWRITE, &tempfile);
  +        ap_get_os_file(tempfile, *lock_fd[i]);
           if (lock_fd[i] == -1) {
          ap_log_error(APLOG_MARK, APLOG_EMERG, 
                       (const server_rec *)ap_get_server_conf(),
  @@ -595,6 +597,7 @@
    */
   void accept_mutex_init(ap_context_t *p, int number_of_locks)
   {
  +    ap_file_t *tempfile = NULL;
       int i;
       char *lock_fname;
     
  @@ -604,8 +607,8 @@
       for (i = 0; i < lock_count; i++) {
           lock_fname = expand_lock_fname(p, i);
           unlink(lock_fname);
  -        lock_fd[i] = ap_popenf(p, lock_fname, 
  -                            O_CREAT | O_WRONLY | O_EXCL, 0600);
  +        ap_open(p, lock_fname, APR_CREATE | APR_WRITE | APR_EXCL, APR_UREAD 
| APR_UWRITE, &tempfile);
  +        ap_get_os_file(tempfile, *lock_fd[i]);
           if (lock_fd[i] == -1) {
            ap_log_error(APLOG_MARK, APLOG_EMERG, 
                         (const server_rec *) ap_get_server_conf(), 
  
  
  
  1.9       +7 -3      apache-2.0/src/modules/mpm/mpmt_pthread/acceptlock.c
  
  Index: acceptlock.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/modules/mpm/mpmt_pthread/acceptlock.c,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- acceptlock.c      1999/09/08 14:15:47     1.8
  +++ acceptlock.c      1999/09/11 15:58:36     1.9
  @@ -572,12 +572,14 @@
    */ 
   void accept_mutex_child_init(ap_context_t *p)
   {
  +    ap_file_t *tempfile = NULL;
       int i;
     
       for (i = 0; i < lock_count; i++) {
           char *lock_fname = expand_lock_fname(p, i);
       
  -        lock_fd[i] = ap_popenf(p, lock_fname, O_WRONLY, 0600);
  +        ap_open(p, lock_fname, APR_WRITE, APR_UREAD | APR_UWRITE, &tempfile);
  +        ap_get_os_file(tempfile, &lock_fd[i]);
           if (lock_fd[i] == -1) {
          ap_log_error(APLOG_MARK, APLOG_EMERG, 
                       (const server_rec *)ap_get_server_conf(),
  @@ -593,6 +595,7 @@
    */
   void accept_mutex_init(ap_context_t *p, int number_of_locks)
   {
  +    ap_file_t *tempfile = NULL;
       int i;
       char *lock_fname;
     
  @@ -602,8 +605,9 @@
       for (i = 0; i < lock_count; i++) {
           lock_fname = expand_lock_fname(p, i);
           unlink(lock_fname);
  -        lock_fd[i] = ap_popenf(p, lock_fname, 
  -                            O_CREAT | O_WRONLY | O_EXCL, 0600);
  +        ap_open(p, lock_fname, APR_CREATE | APR_WRITE | APR_EXCL,
  +                APR_UREAD | APR_UWRITE, &tempfile);
  +        ap_get_os_file(tempfile, &lock_fd[i]);
           if (lock_fd[i] == -1) {
            ap_log_error(APLOG_MARK, APLOG_EMERG, 
                         (const server_rec *) ap_get_server_conf(), 
  
  
  
  1.5       +10 -3     apache-2.0/src/modules/mpm/mpmt_pthread/scoreboard.c
  
  Index: scoreboard.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/modules/mpm/mpmt_pthread/scoreboard.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- scoreboard.c      1999/08/31 05:33:23     1.4
  +++ scoreboard.c      1999/09/11 15:58:37     1.5
  @@ -405,6 +405,8 @@
   #define SCOREBOARD_FILE
   static scoreboard _scoreboard_image;
   static int scoreboard_fd = -1;
  +static ap_file_t *scoreboard_file = NULL;
  +static ap_file_t *scoreboard_file = NULL;
   
   /* XXX: things are seriously screwed if we ever have to do a partial
    * read or write ... we could get a corrupted scoreboard
  @@ -447,9 +449,12 @@
   API_EXPORT(void) reopen_scoreboard(ap_context_t *p)
   {
       if (scoreboard_fd != -1)
  -     ap_pclosef(p, scoreboard_fd);
  +     ap_close(scoreboard_fd);
   
  -    scoreboard_fd = ap_popenf(p, ap_scoreboard_fname, O_CREAT | O_BINARY | 
O_RDWR, 0666);
  +    ap_open(p, ap_scoreboard_fname, APR_CREATE | APR_BINARY | APR_READ | 
APR_WRITE,
  +            APR_UREAD | APR_UWRITE | APR_GREAD | APR_GWRITE | APR_WREAD | 
APR_WWRITE,
  +            &scoreboard_file);
  +    ap_get_os_file(scoreboard_file, &scoreboard_fd);
       if (scoreboard_fd == -1) {
        perror(ap_scoreboard_fname);
        fprintf(stderr, "Cannot open scoreboard file:\n");
  @@ -475,7 +480,9 @@
       ap_scoreboard_image = &_scoreboard_image;
       ap_scoreboard_fname = ap_server_root_relative(p, ap_scoreboard_fname);
   
  -    scoreboard_fd = ap_popenf(p, ap_scoreboard_fname, O_CREAT | O_BINARY | 
O_RDWR, 0644);
  +    ap_open(p, ap_scoreboard_fname, APR_CREATE | APR_BINARY | APR_READ | 
APR_WRITE,
  +            APR_UREAD | APR_UWRITE | APR_GREAD | APR_WREAD, 
&scoreboard_file);
  +    ap_get_os_file(scoreboard_file, &scoreboard_fd);
       if (scoreboard_fd == -1) {
        perror(ap_scoreboard_fname);
        fprintf(stderr, "Cannot open scoreboard file:\n");
  
  
  

Reply via email to