mturk       2004/09/13 10:51:39

  Modified:    daemon/src/native/nt/procrun/apps/prunsrv prunsrv.c
  Log:
  In debug mode redirect messages to console output.
  
  Revision  Changes    Path
  1.8       +25 -12    
jakarta-commons/daemon/src/native/nt/procrun/apps/prunsrv/prunsrv.c
  
  Index: prunsrv.c
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/daemon/src/native/nt/procrun/apps/prunsrv/prunsrv.c,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- prunsrv.c 5 Sep 2004 07:16:53 -0000       1.7
  +++ prunsrv.c 13 Sep 2004 17:51:38 -0000      1.8
  @@ -230,9 +230,17 @@
           /* Allways move to the end of file */
           SetFilePointer(lpWrapper->hStdOutFile, 0, NULL, FILE_END);
       }
  -    else
  -        return FALSE;
  -    
  +    else {
  +        lpWrapper->hStdOutFile = CreateFileW(L"CONOUT$",
  +                                             GENERIC_READ | GENERIC_WRITE, 
  +                                             FILE_SHARE_READ | FILE_SHARE_WRITE, 
  +                                             NULL,
  +                                             OPEN_EXISTING,
  +                                             0,
  +                                             NULL); 
  +        if (IS_INVALID_HANDLE(lpWrapper->hStdOutFile))
  +            return FALSE;
  +    }
       if (lpWrapper->szStdErrFilename) {
           if (*lpWrapper->szStdErrFilename == L'+') {
               ++lpWrapper->szStdErrFilename;
  @@ -257,8 +265,7 @@
           lpWrapper->hStdErrFile = lpWrapper->hStdOutFile;
       }
       else {
  -        CloseHandle(lpWrapper->hStdOutFile);
  -        return FALSE;
  +        lpWrapper->hStdErrFile = lpWrapper->hStdOutFile;
       }
       /* Open the stream buffers 
        * This will redirect all printf to go to the redirected files.
  @@ -284,14 +291,14 @@
   static void cleanupStdStreams(APX_STDWRAP *lpWrapper)
   {
       /* Close the redirectied streams */
  -    if (lpWrapper->fpStdOutFile)
  +    if (lpWrapper->fpStdOutFile) {
           fclose(lpWrapper->fpStdOutFile);
  -    if (lpWrapper->fpStdErrFile)
  +        *stdout = lpWrapper->fpStdOutSave;
  +    }
  +    if (lpWrapper->fpStdErrFile) {
           fclose(lpWrapper->fpStdErrFile);
  -
  -    /* restore the original streams */
  -    *stdout = lpWrapper->fpStdOutSave;
  -    *stderr = lpWrapper->fpStdErrSave;
  +        *stderr = lpWrapper->fpStdErrSave;
  +    }
   }
   
   /* Debuging functions */
  @@ -1171,7 +1178,13 @@
       AplZeroMemory(&gStdwrap, sizeof(APX_STDWRAP));
   
       gStdwrap.szStdErrFilename = SO_STDERROR;
  -    gStdwrap.szStdOutFilename = SO_STDOUTPUT;
  +    if (lpCmdline->dwCmdIndex == 1) {
  +        /* In debug mode allways use console */
  +        gStdwrap.szStdOutFilename = NULL;
  +    }
  +    else
  +        gStdwrap.szStdOutFilename = SO_STDOUTPUT;
  +
       redirectStdStreams(&gStdwrap);
       switch (lpCmdline->dwCmdIndex) {
           case 1: /* Run Service as console application */
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to