cvs commit: apache-2.0 STATUS

1999-11-11 Thread rbb
rbb 99/11/11 05:21:11

  Modified:.STATUS
  Log:
  Update the STATUS file with three new items.
  
  Revision  ChangesPath
  1.13  +11 -1 apache-2.0/STATUS
  
  Index: STATUS
  ===
  RCS file: /home/cvs/apache-2.0/STATUS,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- STATUS1999/11/04 18:59:39 1.12
  +++ STATUS1999/11/11 13:21:10 1.13
  @@ -1,5 +1,5 @@
   Apache 2.0 STATUS:
  -Last modified at [$Date: 1999/11/04 18:59:39 $]
  +Last modified at [$Date: 1999/11/11 13:21:10 $]
   
   Release:
   
  @@ -48,7 +48,17 @@
 hook system. Switch completely to the new hook system
   Status: Ben Laurie is working on this.
   
  +* Modules.  Which modules do not work yet, can we get a list?
  +
   RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
  +
  +* Clean the code.  There are a lot of places we used APR but didn't 
  +  remove the hacks that were required for the cross-platform code in
  +  1.3.  We need to make the code look like APR was supposed to be there. 
  +
  +* Go throught the Bug DB and research the bugs marked suspended.  
People
  +  were told these would be considered for inclusion in Apache 2.0, it 
  +  would be nice to actually do so.
   
   * Win32: Redirect stderr to the error log. This is tougher than it 
appears
 because Apache for Windows now uses native file I/O libraries rather 
than
  
  
  


cvs commit: apache-2.0/src/lib/apr/include apr_win.h

1999-11-11 Thread rbb
rbb 99/11/11 07:10:06

  Modified:src/lib/apr APRDesign
   src/lib/apr/include apr_win.h
  Log:
  Fix the APR build process on Windows.  I am also updating the APRDesign
  document to specifically discuss coding for Windows, and what must be
  done to keep APR on Windows working.
  
  Revision  ChangesPath
  1.4   +21 -0 apache-2.0/src/lib/apr/APRDesign
  
  Index: APRDesign
  ===
  RCS file: /home/cvs/apache-2.0/src/lib/apr/APRDesign,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- APRDesign 1999/10/21 11:14:49 1.3
  +++ APRDesign 1999/11/11 15:10:05 1.4
  @@ -19,6 +19,27 @@
   This document will discuss the structure of APR, and how best to contribute
   code to the effort.
   
  +APR On Windows
  +
  +I am putting this at the top because it is an important topic.  APR on 
Windows
  +is different from APR on all other systems, because it doesn't use autoconf.
  +As far as I know there is no autoconf for Windows, so we don't have much of a
  +choice in this.  Because autoconf is generating our apr_config.h file we need
  +to take care when adding macros to it.  There is an apr_win.h file which 
replaces
  +apr_config.h on Windows, and it needs to be kept up to date.
  +
  +!!!***  If you add code to acconfig.h or tests to configure.in or aclocal.m4,
  +please give some thought to whether or not Windows needs this 
addition
  +as well.  A general rule of thumb, is that if it is a feature macro,
  +such as APR_HAS_THREADS, Windows needs it.  If the definition is 
going
  +to be used in a public APR header file, such as apr_general.h, 
Windows
  +needs it.
  +
  +The only time it is safe to add a macro or test without also adding 
  +the macro to apr_win.h, is if the macro tells APR how to build.  For
  +example, a test for a header file does not need to be added to 
Windows.
  +***!!!
  +
   APR Features
   
   One of the goals of APR is to provide a common set of features across all 
  
  
  
  1.6   +34 -15apache-2.0/src/lib/apr/include/apr_win.h
  
  Index: apr_win.h
  ===
  RCS file: /home/cvs/apache-2.0/src/lib/apr/include/apr_win.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- apr_win.h 1999/11/08 18:54:00 1.5
  +++ apr_win.h 1999/11/11 15:10:06 1.6
  @@ -80,12 +80,6 @@
*/
   #define HAVE_CONIO_H 1
   
  -/* struct iovec is needed to emulate Unix writev */
  -struct iovec {
  -char* iov_base;
  -int   iov_len;
  -};
  -
   typedef enum {APR_WIN_NT, APR_WIN_95, APR_WIN_98} ap_oslevel_e;
   
   #define SIGHUP 1
  @@ -120,27 +114,52 @@
   #define SIGWINCH   30
   #define SIGIO  31
   
  -typedef _off_t  off_t;
  -typedef int pid_t;
  -typedef void (Sigfunc)(int);
  -
   #define __attribute__(__x) 
   
  -#define SIZEOF_SHORT 2
  -#define SIZEOF_INT 4
  -#define SIZEOF_LONGLONG 8
  -
   #define API_EXPORT(x)x
   #define API_EXPORT_NONSTD(x) x
   #define API_THREAD_FUNC __stdcall
   #define API_VAR_IMPORT extern _declspec(dllimport)
   
  +/* APR COMPATABILITY FUNCTIONS
  + * This section should be used to define functions and
  + * macros which are need to make Windows features look
  + * like POSIX features.
  + */
  +/* struct iovec is needed to emulate Unix writev */
  +struct iovec {
  +char* iov_base;
  +int   iov_len;
  +};
  +
  +typedef _off_t  off_t;
  +typedef int ssize_t;
  +typedef int pid_t;
  +typedef void (Sigfunc)(int);
  +
   #define strcasecmp(s1, s2)   stricmp(s1, s2)
   #define sleep(t) Sleep(t * 1000)
   
  +
  +/* APR FEATURE MACROS.
  + * This section should be used to define feature macros
  + * that the windows port needs.
  + */
  +#define APR_HAS_THREADS1
  +
  +#define SIZEOF_SHORT   2
  +#define SIZEOF_INT 4
  +#define SIZEOF_LONGLONG8
  +#define SIZEOF_CHAR1
  +#define SIZEOF_SSIZE_T SIZEOF_INT
  +
  +/* APR WINDOWS-ONLY FUNCTIONS
  + * This section should define those functions which are
  + * only found in the windows version of APR.
  + */
  +
   time_t WinTimeToUnixTime(FILETIME *);
   unsigned __stdcall SignalHandling(void *);
  -
   int thread_ready(void);
   
   #endif  /*APR_WIN_H*/
  
  
  


cvs commit: apache-2.0/src/modules/mpm/mpmt_pthread mpmt_pthread.c

1999-11-11 Thread manoj
manoj   99/11/11 14:57:27

  Modified:src/modules/mpm/mpmt_pthread mpmt_pthread.c
  Log:
  Fix a race condition found by David Colasurdo [EMAIL PROTECTED]. We
  should make sure that the parent notes the creation of a child process
  in the scoreboard so that perform_idle_server_maintanence doesn't get
  the chance to claim that slot.
  
  Revision  ChangesPath
  1.43  +10 -0 apache-2.0/src/modules/mpm/mpmt_pthread/mpmt_pthread.c
  
  Index: mpmt_pthread.c
  ===
  RCS file: /home/cvs/apache-2.0/src/modules/mpm/mpmt_pthread/mpmt_pthread.c,v
  retrieving revision 1.42
  retrieving revision 1.43
  diff -u -d -u -r1.42 -r1.43
  --- mpmt_pthread.c1999/10/27 06:11:21 1.42
  +++ mpmt_pthread.c1999/11/11 22:57:19 1.43
  @@ -1028,8 +1028,18 @@
child_main(slot);
   }
   
  +/* Tag this slot as occupied so that perform_idle_server_maintenance
  + * doesn't try to steal it */
  +(void) ap_update_child_status(slot, 0, SERVER_STARTING, (request_rec *) 
NULL);
  +
   if ((pid = fork()) == -1) {
   ap_log_error(APLOG_MARK, APLOG_ERR, errno, s, fork: Unable to fork 
new process);
  +
  +/* fork didn't succeed. Fix the scoreboard or else
  + * it will say SERVER_STARTING forever and ever
  + */
  +(void) ap_update_child_status(slot, 0, SERVER_DEAD, (request_rec *) 
NULL);
  +
/* In case system resources are maxxed out, we don't want
   Apache running away with the CPU trying to fork over and
   over and over again. */