ben         97/12/27 07:03:37

  Modified:    src/os/win32 mod_isapi.c
  Log:
  Work around optimiser bug.
  
  Revision  Changes    Path
  1.5       +9 -0      apachen/src/os/win32/mod_isapi.c
  
  Index: mod_isapi.c
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/os/win32/mod_isapi.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- mod_isapi.c       1997/10/22 20:30:41     1.4
  +++ mod_isapi.c       1997/12/27 15:03:36     1.5
  @@ -102,6 +102,14 @@
                                   LPVOID lpvBuffer, LPDWORD lpdwSize,
                                   LPDWORD lpdwDataType);
   
  +/*
  +    The optimiser blows it totally here. What happens is that autos are 
addressed relative to the
  +    stack pointer, which, of course, moves around. The optimiser seems to 
lose track of it somewhere
  +    between setting isapi_entry and calling through it. We work around the 
problem by forcing it to
  +    use frame pointers.
  +*/
  +#pragma optimize("y",off)
  +
   int isapi_handler (request_rec *r) {
       LPEXTENSION_CONTROL_BLOCK ecb =
        pcalloc(r->pool, sizeof(struct _EXTENSION_CONTROL_BLOCK));
  @@ -275,6 +283,7 @@
       }
   
   }
  +#pragma optimize("",on)
   
   BOOL WINAPI GetServerVariable (HCONN hConn, LPSTR lpszVariableName,
                               LPVOID lpvBuffer, LPDWORD lpdwSizeofBuffer) {
  
  
  

Reply via email to