httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From r..@hyperreal.org
Subject cvs commit: apache-apr/pthreads/src/os/unix multithread.c
Date Wed, 27 Jan 1999 16:15:50 GMT
rbb         99/01/27 08:15:49

  Modified:    pthreads/src/include multithread.h
               pthreads/src/modules/standard mod_include.c mod_mime_magic.c
               pthreads/src/os/unix multithread.c
  Log:
  Initial changes for thread-safety.
  
  Revision  Changes    Path
  1.2       +1 -1      apache-apr/pthreads/src/include/multithread.h
  
  Index: multithread.h
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/include/multithread.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- multithread.h	1999/01/21 23:08:32	1.1
  +++ multithread.h	1999/01/27 16:15:46	1.2
  @@ -55,7 +55,7 @@
   API_EXPORT(int) ap_acquire_mutex(mutex *mutex_id);
   API_EXPORT(int) ap_release_mutex(mutex *mutex_id);
   API_EXPORT(void) ap_destroy_mutex(mutex *mutex_id);
  -
  +API_EXPORT(int) ap_spawnvp(const char *, char *const []);
   #endif /* ndef MULTITHREAD */
   
   #ifdef __cplusplus
  
  
  
  1.2       +15 -10    apache-apr/pthreads/src/modules/standard/mod_include.c
  
  Index: mod_include.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/modules/standard/mod_include.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- mod_include.c	1999/01/21 23:08:38	1.1
  +++ mod_include.c	1999/01/27 16:15:47	1.2
  @@ -614,9 +614,10 @@
       }
   
       ap_destroy_sub_req(rr);
  -#ifndef WIN32
  +    /*   changing directory should be handled by CreateProcess.
  +       #ifndef WIN32
       ap_chdir_file(r->filename);
  -#endif
  +    #endif */
   
       return 0;
   }
  @@ -708,9 +709,10 @@
               if (!error_fmt && ap_run_sub_req(rr)) {
                   error_fmt = "unable to include \"%s\" in parsed file %s";
               }
  -#ifndef WIN32
  +    /*   changing directory should be handled by CreateProcess.
  +	    #ifndef WIN32
               ap_chdir_file(r->filename);
  -#endif
  +	    #endif*/
               if (error_fmt) {
                   ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR,
   			    r, error_fmt, tag_val, r->filename);
  @@ -855,9 +857,10 @@
                   ap_rputs(error, r);
               }
               /* just in case some stooge changed directories */
  -#ifndef WIN32
  +    /*   changing directory should be handled by CreateProcess.	    
  +            #ifndef WIN32
               ap_chdir_file(r->filename);
  -#endif
  +	    #endif*/
           }
           else if (!strcmp(tag, "cgi")) {
               parse_string(r, tag_val, parsed_string, sizeof(parsed_string), 0);
  @@ -867,9 +870,10 @@
                   ap_rputs(error, r);
               }
               /* grumble groan */
  -#ifndef WIN32
  +	        /*   changing directory should be handled by CreateProcess.
  +            #ifndef WIN32
               ap_chdir_file(r->filename);
  -#endif
  +	    #endif*/
           }
           else if (!strcmp(tag, "done")) {
               return 0;
  @@ -2114,9 +2118,10 @@
       printing = conditional_status = 1;
       if_nesting = 0;
   
  -#ifndef WIN32
  +    /*   changing directory should be handled by CreateProcess.
  +    #ifndef WIN32
       ap_chdir_file(r->filename);
  -#endif
  +    #endif*/
       if (r->args) {              /* add QUERY stuff to env cause it ain't yet */
           char *arg_copy = ap_pstrdup(r->pool, r->args);
   
  
  
  
  1.2       +6 -8      apache-apr/pthreads/src/modules/standard/mod_mime_magic.c
  
  Index: mod_mime_magic.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/modules/standard/mod_mime_magic.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- mod_mime_magic.c	1999/01/21 23:08:38	1.1
  +++ mod_mime_magic.c	1999/01/27 16:15:47	1.2
  @@ -1,4 +1,4 @@
  -/* ====================================================================
  +2/* ====================================================================
    * Copyright (c) 1995-1998 The Apache Group.  All rights reserved.
    *
    * Redistribution and use in source and binary forms, with or without
  @@ -2139,9 +2139,7 @@
   static int uncompress_child(void *data, child_info *pinfo)
   {
       struct uncompress_parms *parm = data;
  -#if defined(WIN32)
       int child_pid;
  -#endif
   
       if (compr[parm->method].silent) {
   	close(STDERR_FILENO);
  @@ -2150,14 +2148,14 @@
   #if defined(WIN32)
       child_pid = spawnvp(compr[parm->method].argv[0],
   			compr[parm->method].argv);
  -    return (child_pid);
   #else
  -    execvp(compr[parm->method].argv[0], compr[parm->method].argv);
  -    ap_log_rerror(APLOG_MARK, APLOG_ERR, parm->r,
  +    child_pid = ap_spawnvp(compr[parm->method].argv[0], compr[parm->method].argv);
  +#endif
  +    if (child_pid == -1)
  +        ap_log_rerror(APLOG_MARK, APLOG_ERR, parm->r,
   		MODNAME ": could not execute `%s'.",
   		compr[parm->method].argv[0]);
  -    return -1;
  -#endif
  +    return (child_pid);
   }
   
   
  
  
  
  1.2       +15 -1     apache-apr/pthreads/src/os/unix/multithread.c
  
  Index: multithread.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/pthreads/src/os/unix/multithread.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- multithread.c	1999/01/21 23:08:40	1.1
  +++ multithread.c	1999/01/27 16:15:49	1.2
  @@ -1,8 +1,8 @@
   #include "ap_config.h" 
  +/*#include "http_log.h"*/
   #include "multithread.h"
   #include <pthread.h>
   
  -
   API_EXPORT(mutex *) ap_create_mutex(char * name)
   {
       int rv;
  @@ -29,3 +29,17 @@
   {
       pthread_mutex_destroy((pthread_mutex_t *) mutex_id);
   }
  +
  +API_EXPORT(int) ap_spawnvp(const char *file, char *const argv[])
  +{
  +    int pid;
  +
  +    if ((pid = fork()) == -1) {
  +        return pid;
  +    } else if (pid == 0) {
  +        execvp(file, argv);
  +        return -1;
  +    } else 
  +        return pid;
  +}
  +    
  
  
  

Mime
View raw message