jfclere     2002/10/31 03:32:05

  Modified:    daemon/src/native/nt/executables/vdmoniadm resource.h
               daemon/src/native/nt/executables/vdmonisvc resource.h
               daemon/src/native/nt/moni vdmoniadm.c vdmonisvc.c
               daemon/src/native/nt/service instmain.c
               daemon/src/native/nt/signals kills.c
               daemon/src/native/nt/supcalls_nt vdenv.c
               daemon/src/native/unix/native signals.c
  Log:
  Arrange licence stuff and C++ comments.
  
  Revision  Changes    Path
  1.2       +61 -6     
jakarta-commons-sandbox/daemon/src/native/nt/executables/vdmoniadm/resource.h
  
  Index: resource.h
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/daemon/src/native/nt/executables/vdmoniadm/resource.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- resource.h        18 Feb 2002 21:15:40 -0000      1.1
  +++ resource.h        31 Oct 2002 11:32:04 -0000      1.2
  @@ -1,7 +1,62 @@
  -//{{NO_DEPENDENCIES}}
  -// Microsoft Developer Studio generated include file.
  -// Used by vdmoniadm.rc
  -//
  +/* ========================================================================= *
  + *                                                                           *
  + *                 The Apache Software License,  Version 1.1                 *
  + *                                                                           *
  + *          Copyright (c) 1999-2002 The Apache Software Foundation.          *
  + *                           All rights reserved.                            *
  + *                                                                           *
  + * ========================================================================= *
  + *                                                                           *
  + * Redistribution and use in source and binary forms,  with or without modi- *
  + * fication, are permitted provided that the following conditions are met:   *
  + *                                                                           *
  + * 1. Redistributions of source code  must retain the above copyright notice *
  + *    notice, this list of conditions and the following disclaimer.          *
  + *                                                                           *
  + * 2. Redistributions  in binary  form  must  reproduce the  above copyright *
  + *    notice,  this list of conditions  and the following  disclaimer in the *
  + *    documentation and/or other materials provided with the distribution.   *
  + *                                                                           *
  + * 3. The end-user documentation  included with the redistribution,  if any, *
  + *    must include the following acknowlegement:                             *
  + *                                                                           *
  + *       "This product includes  software developed  by the Apache  Software *
  + *        Foundation <http://www.apache.org/>."                              *
  + *                                                                           *
  + *    Alternately, this acknowlegement may appear in the software itself, if *
  + *    and wherever such third-party acknowlegements normally appear.         *
  + *                                                                           *
  + * 4. The names  "The  Jakarta  Project",  "WebApp",  and  "Apache  Software *
  + *    Foundation"  must not be used  to endorse or promote  products derived *
  + *    from this  software without  prior  written  permission.  For  written *
  + *    permission, please contact <[EMAIL PROTECTED]>.                        *
  + *                                                                           *
  + * 5. Products derived from this software may not be called "Apache" nor may *
  + *    "Apache" appear in their names without prior written permission of the *
  + *    Apache Software Foundation.                                            *
  + *                                                                           *
  + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES *
  + * INCLUDING, BUT NOT LIMITED TO,  THE IMPLIED WARRANTIES OF MERCHANTABILITY *
  + * AND FITNESS FOR  A PARTICULAR PURPOSE  ARE DISCLAIMED.  IN NO EVENT SHALL *
  + * THE APACHE  SOFTWARE  FOUNDATION OR  ITS CONTRIBUTORS  BE LIABLE  FOR ANY *
  + * DIRECT,  INDIRECT,   INCIDENTAL,  SPECIAL,  EXEMPLARY,  OR  CONSEQUENTIAL *
  + * DAMAGES (INCLUDING,  BUT NOT LIMITED TO,  PROCUREMENT OF SUBSTITUTE GOODS *
  + * OR SERVICES;  LOSS OF USE,  DATA,  OR PROFITS;  OR BUSINESS INTERRUPTION) *
  + * HOWEVER CAUSED AND  ON ANY  THEORY  OF  LIABILITY,  WHETHER IN  CONTRACT, *
  + * STRICT LIABILITY, OR TORT  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN *
  + * ANY  WAY  OUT OF  THE  USE OF  THIS  SOFTWARE,  EVEN  IF  ADVISED  OF THE *
  + * POSSIBILITY OF SUCH DAMAGE.                                               *
  + *                                                                           *
  + * ========================================================================= *
  + *                                                                           *
  + * This software  consists of voluntary  contributions made  by many indivi- *
  + * duals on behalf of the  Apache Software Foundation.  For more information *
  + * on the Apache Software Foundation, please see <http://www.apache.org/>.   *
  + *                                                                           *
  + * ========================================================================= */
  +
  +/* @version $Id$ */
  +/* Used by vdmoniadm.rc */
   #define NO_ACCESS                       1
   #define NO_ACCESS_MONI                  2
   #define ALREADY_STOP                    3
  @@ -15,8 +70,8 @@
   #define ID_PROPRETY                     40003
   #define ID_START_VDCOM                  40008
   
  -// Next default values for new objects
  -// 
  +/* Next default values for new objects */
  +
   #ifdef APSTUDIO_INVOKED
   #ifndef APSTUDIO_READONLY_SYMBOLS
   #define _APS_NEXT_RESOURCE_VALUE        103
  
  
  
  1.2       +60 -6     
jakarta-commons-sandbox/daemon/src/native/nt/executables/vdmonisvc/resource.h
  
  Index: resource.h
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/daemon/src/native/nt/executables/vdmonisvc/resource.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- resource.h        18 Feb 2002 21:15:39 -0000      1.1
  +++ resource.h        31 Oct 2002 11:32:04 -0000      1.2
  @@ -1,10 +1,64 @@
  -//{{NO_DEPENDENCIES}}
  -// Microsoft Developer Studio generated include file.
  -// Used by vdmonisvc.rc
  -//
  +/* ========================================================================= *
  + *                                                                           *
  + *                 The Apache Software License,  Version 1.1                 *
  + *                                                                           *
  + *          Copyright (c) 1999-2001 The Apache Software Foundation.          *
  + *                           All rights reserved.                            *
  + *                                                                           *
  + * ========================================================================= *
  + *                                                                           *
  + * Redistribution and use in source and binary forms,  with or without modi- *
  + * fication, are permitted provided that the following conditions are met:   *
  + *                                                                           *
  + * 1. Redistributions of source code  must retain the above copyright notice *
  + *    notice, this list of conditions and the following disclaimer.          *
  + *                                                                           *
  + * 2. Redistributions  in binary  form  must  reproduce the  above copyright *
  + *    notice,  this list of conditions  and the following  disclaimer in the *
  + *    documentation and/or other materials provided with the distribution.   *
  + *                                                                           *
  + * 3. The end-user documentation  included with the redistribution,  if any, *
  + *    must include the following acknowlegement:                             *
  + *                                                                           *
  + *       "This product includes  software developed  by the Apache  Software *
  + *        Foundation <http://www.apache.org/>."                              *
  + *                                                                           *
  + *    Alternately, this acknowlegement may appear in the software itself, if *
  + *    and wherever such third-party acknowlegements normally appear.         *
  + *                                                                           *
  + * 4. The names  "The  Jakarta  Project",  "WebApp",  and  "Apache  Software *
  + *    Foundation"  must not be used  to endorse or promote  products derived *
  + *    from this  software without  prior  written  permission.  For  written *
  + *    permission, please contact <[EMAIL PROTECTED]>.                        *
  + *                                                                           *
  + * 5. Products derived from this software may not be called "Apache" nor may *
  + *    "Apache" appear in their names without prior written permission of the *
  + *    Apache Software Foundation.                                            *
  + *                                                                           *
  + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES *
  + * INCLUDING, BUT NOT LIMITED TO,  THE IMPLIED WARRANTIES OF MERCHANTABILITY *
  + * AND FITNESS FOR  A PARTICULAR PURPOSE  ARE DISCLAIMED.  IN NO EVENT SHALL *
  + * THE APACHE  SOFTWARE  FOUNDATION OR  ITS CONTRIBUTORS  BE LIABLE  FOR ANY *
  + * DIRECT,  INDIRECT,   INCIDENTAL,  SPECIAL,  EXEMPLARY,  OR  CONSEQUENTIAL *
  + * DAMAGES (INCLUDING,  BUT NOT LIMITED TO,  PROCUREMENT OF SUBSTITUTE GOODS *
  + * OR SERVICES;  LOSS OF USE,  DATA,  OR PROFITS;  OR BUSINESS INTERRUPTION) *
  + * HOWEVER CAUSED AND  ON ANY  THEORY  OF  LIABILITY,  WHETHER IN  CONTRACT, *
  + * STRICT LIABILITY, OR TORT  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN *
  + * ANY  WAY  OUT OF  THE  USE OF  THIS  SOFTWARE,  EVEN  IF  ADVISED  OF THE *
  + * POSSIBILITY OF SUCH DAMAGE.                                               *
  + *                                                                           *
  + * ========================================================================= *
  + *                                                                           *
  + * This software  consists of voluntary  contributions made  by many indivi- *
  + * duals on behalf of the  Apache Software Foundation.  For more information *
  + * on the Apache Software Foundation, please see <http://www.apache.org/>.   *
  + *                                                                           *
  + * ========================================================================= */
   
  -// Next default values for new objects
  -// 
  +/* @version $Id$ */
  +/* Used by vdmonisvc.rc */
  +
  +/* Next default values for new objects */
   #ifdef APSTUDIO_INVOKED
   #ifndef APSTUDIO_READONLY_SYMBOLS
   #define _APS_NEXT_RESOURCE_VALUE        105
  
  
  
  1.2       +88 -39    jakarta-commons-sandbox/daemon/src/native/nt/moni/vdmoniadm.c
  
  Index: vdmoniadm.c
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/daemon/src/native/nt/moni/vdmoniadm.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- vdmoniadm.c       18 Feb 2002 21:15:40 -0000      1.1
  +++ vdmoniadm.c       31 Oct 2002 11:32:04 -0000      1.2
  @@ -1,15 +1,61 @@
  -#ident "%W% %E%    ONSERVE V3.0"
  +/* ========================================================================= *
  + *                                                                           *
  + *                 The Apache Software License,  Version 1.1                 *
  + *                                                                           *
  + *          Copyright (c) 1999-2001 The Apache Software Foundation.          *
  + *                           All rights reserved.                            *
  + *                                                                           *
  + * ========================================================================= *
  + *                                                                           *
  + * Redistribution and use in source and binary forms,  with or without modi- *
  + * fication, are permitted provided that the following conditions are met:   *
  + *                                                                           *
  + * 1. Redistributions of source code  must retain the above copyright notice *
  + *    notice, this list of conditions and the following disclaimer.          *
  + *                                                                           *
  + * 2. Redistributions  in binary  form  must  reproduce the  above copyright *
  + *    notice,  this list of conditions  and the following  disclaimer in the *
  + *    documentation and/or other materials provided with the distribution.   *
  + *                                                                           *
  + * 3. The end-user documentation  included with the redistribution,  if any, *
  + *    must include the following acknowlegement:                             *
  + *                                                                           *
  + *       "This product includes  software developed  by the Apache  Software *
  + *        Foundation <http://www.apache.org/>."                              *
  + *                                                                           *
  + *    Alternately, this acknowlegement may appear in the software itself, if *
  + *    and wherever such third-party acknowlegements normally appear.         *
  + *                                                                           *
  + * 4. The names  "The  Jakarta  Project",  "WebApp",  and  "Apache  Software *
  + *    Foundation"  must not be used  to endorse or promote  products derived *
  + *    from this  software without  prior  written  permission.  For  written *
  + *    permission, please contact <[EMAIL PROTECTED]>.                        *
  + *                                                                           *
  + * 5. Products derived from this software may not be called "Apache" nor may *
  + *    "Apache" appear in their names without prior written permission of the *
  + *    Apache Software Foundation.                                            *
  + *                                                                           *
  + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES *
  + * INCLUDING, BUT NOT LIMITED TO,  THE IMPLIED WARRANTIES OF MERCHANTABILITY *
  + * AND FITNESS FOR  A PARTICULAR PURPOSE  ARE DISCLAIMED.  IN NO EVENT SHALL *
  + * THE APACHE  SOFTWARE  FOUNDATION OR  ITS CONTRIBUTORS  BE LIABLE  FOR ANY *
  + * DIRECT,  INDIRECT,   INCIDENTAL,  SPECIAL,  EXEMPLARY,  OR  CONSEQUENTIAL *
  + * DAMAGES (INCLUDING,  BUT NOT LIMITED TO,  PROCUREMENT OF SUBSTITUTE GOODS *
  + * OR SERVICES;  LOSS OF USE,  DATA,  OR PROFITS;  OR BUSINESS INTERRUPTION) *
  + * HOWEVER CAUSED AND  ON ANY  THEORY  OF  LIABILITY,  WHETHER IN  CONTRACT, *
  + * STRICT LIABILITY, OR TORT  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN *
  + * ANY  WAY  OUT OF  THE  USE OF  THIS  SOFTWARE,  EVEN  IF  ADVISED  OF THE *
  + * POSSIBILITY OF SUCH DAMAGE.                                               *
  + *                                                                           *
  + * ========================================================================= *
  + *                                                                           *
  + * This software  consists of voluntary  contributions made  by many indivi- *
  + * duals on behalf of the  Apache Software Foundation.  For more information *
  + * on the Apache Software Foundation, please see <http://www.apache.org/>.   *
  + *                                                                           *
  + * ========================================================================= */
   
  -/* ------------------------------------------------------------ *               
  - * file:        vdmonistop.c                                                        
        
  - * authors:     Fujitsu-siemens                                                     
     
  - * modified:    OEC BS DC22, Barcelona                                          
  - * date:        July 1997                                                       
  - * compiler:    ANSI C                                                          
  - * desc:        stop the monitor service.
  - * note:                                                                        
  - * bugs:        0                                                               
  - * ------------------------------------------------------------ */              
  +/* @version $Id$ */
   
   #include <windows.h>       /* required for all Windows applications */
   #include <stdio.h>         /* for sprintf                           */
  @@ -35,10 +81,10 @@
   
   BOOL InitApplication(HANDLE hInstance);
   
  -HANDLE hInst;        // current instance
  +HANDLE hInst;        /* current instance */
   SC_HANDLE hManager=NULL;                                     
   SC_HANDLE hService=NULL;
  -int optmode;        // start, stop or check.
  +int optmode;        /* start, stop or check. */
   int flagdown = 0;
   
   #define VDMONISTART 0
  @@ -62,12 +108,14 @@
       MessageBox(hDlg, MessBox,"ERROR" , MB_OK);                                  
       }                                                                           
   }
  -// MyTaskBarAddIcon - adds an icon to the taskbar status area. 
  -// Returns TRUE if successful or FALSE otherwise. 
  -// hwnd - handle of the window to receive callback messages 
  -// uID - identifier of the icon 
  -// hicon - handle of the icon to add 
  -// lpszTip - ToolTip text 
  +/*
  + * MyTaskBarAddIcon - adds an icon to the taskbar status area. 
  + * Returns TRUE if successful or FALSE otherwise. 
  + * hwnd - handle of the window to receive callback messages 
  + * uID - identifier of the icon 
  + * hicon - handle of the icon to add 
  + * lpszTip - ToolTip text 
  + */
   BOOL MyTaskBarAddIcon(HWND hWnd)
   { 
       BOOL res; 
  @@ -91,12 +139,13 @@
    
       return res; 
   } 
  -  
  -// MyTaskBarDeleteIcon - deletes an icon from the taskbar 
  -//     status area. 
  -// Returns TRUE if successful or FALSE otherwise. 
  -// hwnd - handle of the window that added the icon 
  -// uID - identifier of the icon to delete 
  +/*  
  + * MyTaskBarDeleteIcon - deletes an icon from the taskbar 
  + *     status area. 
  + * Returns TRUE if successful or FALSE otherwise. 
  + * hwnd - handle of the window that added the icon 
  + * uID - identifier of the icon to delete 
  + */
   BOOL MyTaskBarDeleteIcon(HWND hwnd) 
   { 
       BOOL res; 
  @@ -217,7 +266,7 @@
        
        switch (message) {
        case WM_INITDIALOG:
  -             SetTimer(hDlg,VM_ID_TIMER2,5000,NULL); // wait 5 seconds.
  +             SetTimer(hDlg,VM_ID_TIMER2,5000,NULL); /* wait 5 seconds. */
        case WM_COMMAND:                     /* message: received a command */
                if (LOWORD(wParam) == IDCANCEL)
                        EndDialog(hDlg, FALSE);
  @@ -226,7 +275,7 @@
                if(IsStopped(hDlg))
                        EndDialog(hDlg, TRUE);
                else
  -                     SetTimer(hDlg,VM_ID_TIMER2,5000,NULL); // wait 5 seconds.
  +                     SetTimer(hDlg,VM_ID_TIMER2,5000,NULL); /* wait 5 seconds. */
                return(TRUE);
        } /* End switch message */
        return (FALSE);                            /* Didn't process a message    */
  @@ -250,14 +299,14 @@
                if (IsRunning(hDlg)) 
                        EndDialog(hDlg, TRUE);
                else
  -                     SetTimer(hDlg,VM_ID_TIMER1,5000,NULL); // wait 5 seconds.
  +                     SetTimer(hDlg,VM_ID_TIMER1,5000,NULL); /* wait 5 seconds. */
                return(TRUE);
                
        case WM_TIMER:
                if(IsRunning(hDlg))
                        EndDialog(hDlg, TRUE);
                else
  -                     SetTimer(hDlg,VM_ID_TIMER1,5000,NULL); // wait 5 seconds.
  +                     SetTimer(hDlg,VM_ID_TIMER1,5000,NULL); /* wait 5 seconds. */
                return(TRUE);
                
        case WM_COMMAND:                    /* message: received a command */
  @@ -287,10 +336,10 @@
   
      GetCursorPos(&point);
   
  -   SetForegroundWindow(hWnd); // MS bug.
  +   SetForegroundWindow(hWnd); /* MS bug. */
      
TrackPopupMenuEx(hMenu1,TPM_RIGHTALIGN|TPM_BOTTOMALIGN|TPM_LEFTBUTTON|TPM_RIGHTBUTTON,
                                        point.x,point.y,hWnd,NULL);
  -   PostMessage(hWnd, WM_USER, 0, 0); // MS bug.
  +   PostMessage(hWnd, WM_USER, 0, 0); /* MS bug. */
      DestroyMenu(hMenu);
   
   }                                                                             
  @@ -370,23 +419,23 @@
      switch (message) {
      case WM_CREATE:
   
  -       // acces to service manager.
  +       /* acces to service manager. */
         hManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
          if (hManager==NULL) {
                  DisplayMess(hWnd,NO_ACCESS);
                  PostQuitMessage(0);
                  break;
          }
  -       // access to monitor service.
  +       /* access to monitor service.  */
         hService = OpenService(hManager, SZSERVICENAME, SERVICE_ALL_ACCESS);
          if (hService==NULL) {
                  DisplayMess(hWnd,NO_ACCESS_MONI);
                  PostQuitMessage(0);
                  break;
          }
  -       // check if running.
  +       /* check if running. */
         if (QueryServiceStatus(hService, &svcStatus)) {       
  -          // and see if the service is stopped
  +          /* and see if the service is stopped */
             if (SERVICE_STOPPED == svcStatus.dwCurrentState &&
                          optmode == VDMONISTOP) {
                          DisplayMess(hWnd,ALREADY_STOP);
  @@ -438,7 +487,7 @@
           case WM_RBUTTONUP:
                   if (flagdown == 1) {
                   flagdown = 2;
  -                // show a  menu.
  +                /* show a  menu. */
                   ShowMenu(hWnd);
                   }
                   break;
  @@ -449,7 +498,7 @@
      case WM_TIMER:
           /* check if service is running */
          if (QueryServiceStatus(hService, &svcStatus)) {       
  -          // and see if the service is stopped
  +          /* and see if the service is stopped */
                   if (SERVICE_STOPPED == svcStatus.dwCurrentState) {
                           MyTaskBarDeleteIcon(hWnd);
                           PostQuitMessage(0);
  @@ -460,13 +509,13 @@
           break;
   
      case VM_START_ICON:
  -        // add the icon and timer.
  +        /* add the icon and timer. */
           MyTaskBarAddIcon(hWnd);
           SetTimer(hWnd,VM_ID_TIMER,5000,NULL);
           break;
   
      case WM_COMMAND:
  -        // command for the popup menu.
  +        /* command for the popup menu. */
           switch (LOWORD(wParam)) {
           case ID_START_VDCOM:
                   StartVdcom(hWnd);
  
  
  
  1.3       +264 -207  jakarta-commons-sandbox/daemon/src/native/nt/moni/vdmonisvc.c
  
  Index: vdmonisvc.c
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/daemon/src/native/nt/moni/vdmonisvc.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- vdmonisvc.c       20 Mar 2002 23:39:32 -0000      1.2
  +++ vdmonisvc.c       31 Oct 2002 11:32:04 -0000      1.3
  @@ -1,15 +1,66 @@
  -//
  -// OnServe monitor service module.
  -//
  -//  MODULE:   vdmonisvc.c
  -//
  -//  PURPOSE:  Implements the body of the service.
  -//            It reads the register entry and starts the jsvc.
  -//
  -//  FUNCTIONS:
  -//            ServiceStart(DWORD dwArgc, LPTSTR *lpszArgv);
  -//            ServiceStop( );
  -
  +/* ========================================================================= *
  + *                                                                           *
  + *                 The Apache Software License,  Version 1.1                 *
  + *                                                                           *
  + *          Copyright (c) 1999-2001 The Apache Software Foundation.          *
  + *                           All rights reserved.                            *
  + *                                                                           *
  + * ========================================================================= *
  + *                                                                           *
  + * Redistribution and use in source and binary forms,  with or without modi- *
  + * fication, are permitted provided that the following conditions are met:   *
  + *                                                                           *
  + * 1. Redistributions of source code  must retain the above copyright notice *
  + *    notice, this list of conditions and the following disclaimer.          *
  + *                                                                           *
  + * 2. Redistributions  in binary  form  must  reproduce the  above copyright *
  + *    notice,  this list of conditions  and the following  disclaimer in the *
  + *    documentation and/or other materials provided with the distribution.   *
  + *                                                                           *
  + * 3. The end-user documentation  included with the redistribution,  if any, *
  + *    must include the following acknowlegement:                             *
  + *                                                                           *
  + *       "This product includes  software developed  by the Apache  Software *
  + *        Foundation <http://www.apache.org/>."                              *
  + *                                                                           *
  + *    Alternately, this acknowlegement may appear in the software itself, if *
  + *    and wherever such third-party acknowlegements normally appear.         *
  + *                                                                           *
  + * 4. The names  "The  Jakarta  Project",  "WebApp",  and  "Apache  Software *
  + *    Foundation"  must not be used  to endorse or promote  products derived *
  + *    from this  software without  prior  written  permission.  For  written *
  + *    permission, please contact <[EMAIL PROTECTED]>.                        *
  + *                                                                           *
  + * 5. Products derived from this software may not be called "Apache" nor may *
  + *    "Apache" appear in their names without prior written permission of the *
  + *    Apache Software Foundation.                                            *
  + *                                                                           *
  + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES *
  + * INCLUDING, BUT NOT LIMITED TO,  THE IMPLIED WARRANTIES OF MERCHANTABILITY *
  + * AND FITNESS FOR  A PARTICULAR PURPOSE  ARE DISCLAIMED.  IN NO EVENT SHALL *
  + * THE APACHE  SOFTWARE  FOUNDATION OR  ITS CONTRIBUTORS  BE LIABLE  FOR ANY *
  + * DIRECT,  INDIRECT,   INCIDENTAL,  SPECIAL,  EXEMPLARY,  OR  CONSEQUENTIAL *
  + * DAMAGES (INCLUDING,  BUT NOT LIMITED TO,  PROCUREMENT OF SUBSTITUTE GOODS *
  + * OR SERVICES;  LOSS OF USE,  DATA,  OR PROFITS;  OR BUSINESS INTERRUPTION) *
  + * HOWEVER CAUSED AND  ON ANY  THEORY  OF  LIABILITY,  WHETHER IN  CONTRACT, *
  + * STRICT LIABILITY, OR TORT  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN *
  + * ANY  WAY  OUT OF  THE  USE OF  THIS  SOFTWARE,  EVEN  IF  ADVISED  OF THE *
  + * POSSIBILITY OF SUCH DAMAGE.                                               *
  + *                                                                           *
  + * ========================================================================= *
  + *                                                                           *
  + * This software  consists of voluntary  contributions made  by many indivi- *
  + * duals on behalf of the  Apache Software Foundation.  For more information *
  + * on the Apache Software Foundation, please see <http://www.apache.org/>.   *
  + *                                                                           *
  + * ========================================================================= */
  +
  +/* @version $Id$ */
  +
  +/* jsvc monitor service module:
  + * Implements the body of the service.
  + * It reads the register entry and starts the jsvc.
  + */
   
   #include <windows.h>
   #include <winuser.h>
  @@ -63,8 +114,8 @@
   
           dwErr = GetLastError();
   
  -        // Use event logging to log the error.
  -        //
  +        /* Use event logging to log the error. */
  +
        if (isWindowsNT())
               hEventSource = RegisterEventSource(NULL, TEXT(SZSERVICENAME));
        else
  @@ -79,15 +130,15 @@
           lpszStrings[1] = lpszMsg;
   
           if (hEventSource != NULL) {
  -            ReportEvent(hEventSource, // handle of event source
  -                EVENTLOG_ERROR_TYPE,  // event type
  -                0,                    // event category
  -                0,                    // event ID
  -                NULL,                 // current user's SID
  -                2,                    // strings in lpszStrings
  -                0,                    // no bytes of raw data
  -                lpszStrings,          // array of error strings
  -                NULL);                // no raw data
  +            ReportEvent(hEventSource, /* handle of event source */
  +                EVENTLOG_ERROR_TYPE,  /* event type */
  +                0,                    /* event category */
  +                0,                    /* event ID */
  +                NULL,                 /* current user's SID */
  +                2,                    /* strings in lpszStrings */
  +                0,                    /* no bytes of raw data */
  +                lpszStrings,          /* array of error strings */
  +                NULL);                /* no raw data */
   
               (VOID) DeregisterEventSource(hEventSource);
           } else {
  @@ -110,25 +161,27 @@
        }
   }
   
  -//
  -//  FUNCTION: ServiceStop
  -//
  -//  PURPOSE: Stops the service
  -//
  -//  PARAMETERS:
  -//    none
  -//
  -//  RETURN VALUE:
  -//    none
  -//
  -//  COMMENTS:
  -//    If a ServiceStop procedure is going to
  -//    take longer than 3 seconds to execute,
  -//    it should spawn a thread to execute the
  -//    stop code, and return.  Otherwise, the
  -//    ServiceControlManager will believe that
  -//    the service has stopped responding.
  -//    
  +/*
  + *
  + *  FUNCTION: ServiceStop
  + *
  + *  PURPOSE: Stops the service
  + *
  + *  PARAMETERS:
  + *    none
  + *
  + *  RETURN VALUE:
  + *    none
  + *
  + *  COMMENTS:
  + *    If a ServiceStop procedure is going to
  + *    take longer than 3 seconds to execute,
  + *    it should spawn a thread to execute the
  + *    stop code, and return.  Otherwise, the
  + *    ServiceControlManager will believe that
  + *    the service has stopped responding.
  + *    
  + */
   VOID ServiceStop()
   {
       if ( hServerStopEvent )
  @@ -184,20 +237,20 @@
           AddToMessageLog(TEXT("ttyConsoleCtrlWndProc WM_DESTROY"));
           return 0;
       } else if (msg == WM_CLOSE) {
  -        // Call StopService?.
  +        /* Call StopService?. */
           AddToMessageLog(TEXT("ttyConsoleCtrlWndProc WM_CLOSE"));
  -        return 0; // May return 1 if StopService failed.
  +        return 0; /* May return 1 if StopService failed. */
       } else if ((msg == WM_QUERYENDSESSION) || (msg == WM_ENDSESSION)) {
           if (lParam & ENDSESSION_LOGOFF) {
  -            // Here we have nothing to our hidden windows should stay.
  +            /* Here we have nothing to our hidden windows should stay. */
               AddToMessageLog(TEXT("ttyConsoleCtrlWndProc LOGOFF"));
  -            return(1); // Otherwise it cancels the logoff
  +            return(1); /* Otherwise it cancels the logoff */
           } else {
  -            // Stop Service.
  +            /* Stop Service. */
               AddToMessageLog(TEXT("ttyConsoleCtrlWndProc SHUTDOWN"));
               ServiceStop();
   
  -            // Wait until it stops.
  +            /* Wait until it stops. */
               qreturn = WaitForMonitor(3);
   
               if (msg == WM_QUERYENDSESSION) {
  @@ -210,7 +263,7 @@
                   }
               } else
                   AddToMessageLog(TEXT("ttyConsoleCtrlWndProc SHUTDOWN"));
  -            return(1); // Otherwise it cancels the shutdown.
  +            return(1); /* Otherwise it cancels the shutdown. */
           }
       }
       return (DefWindowProc(hwnd, msg, wParam, lParam));
  @@ -310,24 +363,26 @@
       AddToMessageLog(TEXT("jsvc shutdown listener start failed"));
       return TRUE;
   }
  - 
  -//
  -//  FUNCTION: ReportStatusToSCMgr()
  -//
  -//  PURPOSE: Sets the current status of the service and
  -//           reports it to the Service Control Manager
  -//
  -//  PARAMETERS:
  -//    dwCurrentState - the state of the service
  -//    dwWin32ExitCode - error code to report
  -//    dwWaitHint - worst case estimate to next checkpoint
  -//
  -//  RETURN VALUE:
  -//    TRUE  - success
  -//    FALSE - failure
  -//
  -//  COMMENTS:
  -//
  +
  +/* 
  + *
  + *  FUNCTION: ReportStatusToSCMgr()
  + *
  + *  PURPOSE: Sets the current status of the service and
  + *           reports it to the Service Control Manager
  + *
  + *  PARAMETERS:
  + *    dwCurrentState - the state of the service
  + *    dwWin32ExitCode - error code to report
  + *    dwWaitHint - worst case estimate to next checkpoint
  + *
  + *  RETURN VALUE:
  + *    TRUE  - success
  + *    FALSE - failure
  + *
  + *  COMMENTS:
  + *
  + */
   BOOL ReportStatusToSCMgr(DWORD dwCurrentState,
                            DWORD dwWin32ExitCode,
                            DWORD dwWaitHint)
  @@ -352,8 +407,8 @@
               ssStatus.dwCheckPoint = dwCheckPoint++;
   
   
  -        // Report the status of the service to the service control manager.
  -        //
  +        /* Report the status of the service to the service control manager. */
  +
           if (!(fResult = SetServiceStatus( sshStatusHandle, &ssStatus))) {
               AddToMessageLog(TEXT("SetServiceStatus"));
           }
  @@ -367,30 +422,32 @@
   {
       if (isWindowsNT())
           return(ReportStatusToSCMgr(
  -            event,                 // service state
  -            NO_ERROR,              // exit code
  -            3000));                // wait hint
  +            event,                 /* service state */
  +            NO_ERROR,              /* exit code */
  +            3000));                /* wait hint */
       return(1);
   } 
   
  -//
  -//  FUNCTION: ServiceStart
  -//
  -//  PURPOSE: Actual code of the service
  -//           that does the work.
  -//
  -//  PARAMETERS:
  -//    dwArgc   - number of command line arguments
  -//    lpszArgv - array of command line arguments
  -//
  -//  RETURN VALUE:
  -//    none
  -//
  -//  COMMENTS:
  -//    The default behavior is to read the registry and start jsvc.
  -//    The service stops when hServerStopEvent is signalled, the jsvc
  -//    is stopped via TermPid(pid) (see kills.c).
  -//
  +/*
  + *
  + *  FUNCTION: ServiceStart
  + *
  + *  PURPOSE: Actual code of the service
  + *           that does the work.
  + *
  + *  PARAMETERS:
  + *    dwArgc   - number of command line arguments
  + *    lpszArgv - array of command line arguments
  + *
  + *  RETURN VALUE:
  + *    none
  + *
  + *  COMMENTS:
  + *    The default behavior is to read the registry and start jsvc.
  + *    The service stops when hServerStopEvent is signalled, the jsvc
  + *    is stopped via TermPid(pid) (see kills.c).
  + *
  + */
   VOID ServiceStart (DWORD dwArgc, LPTSTR *lpszArgv)
   {
   char Data[512];
  @@ -400,36 +457,34 @@
   char *qptr;
   
   
  -    ///////////////////////////////////////////////////
  -    //
  -    // Service initialization
  -    //
  -     ProcessInformation.hProcess = NULL;
  +    /* Service initialization */
  +    ProcessInformation.hProcess = NULL;
  +
  +    /* report the status to the service control manager. */
   
  -    // report the status to the service control manager.
  -    //
       AddToMessageLog(TEXT("ServiceStart: starting"));
       if (!ReportManager(SERVICE_START_PENDING))
           goto cleanup;
   
  -    // create the event object. The control handler function signals
  -    // this event when it receives the "stop" control code.
  -    //
  +    /*
  +     * create the event object. The control handler function signals
  +     * this event when it receives the "stop" control code.
  +     *
  +     */
       hServerStopEvent = CreateEvent(
  -        NULL,    // no security attributes
  -        TRUE,    // manual reset event
  -        FALSE,   // not-signalled
  -        NULL);   // no name
  +        NULL,    /* no security attributes */
  +        TRUE,    /* manual reset event */
  +        FALSE,   /* not-signalled */
  +        NULL);   /* no name */
   
       if ( hServerStopEvent == NULL)
           goto cleanup;
   
  -    // report the status to the service control manager.
  -    //
  +    /* report the status to the service control manager. */
       if (!ReportManager(SERVICE_START_PENDING))
           goto cleanup;
   
  -    // Read the registry and set environment.
  +    /* Read the registry and set environment. */
       if (OnServeSetEnv()) {
         AddToMessageLog(TEXT("ServiceStart: read environment failed"));
         goto cleanup;
  @@ -438,19 +493,19 @@
       if (!ReportManager(SERVICE_START_PENDING))
           goto cleanup;
   
  -    // set the start path for jsvc.exe
  +    /* set the start path for jsvc.exe */
       qptr = getenv("JAKARTA_HOME");
       if (qptr==NULL || strlen(qptr)==0) {
           AddToMessageLog(TEXT("ServiceStart: read JAKARTA_HOME failed"));
           goto cleanup;
       }
   
  -    // Build the start jsvc command according to the registry information.
  +    /* Build the start jsvc command according to the registry information. */
       strcpy(Data,qptr);
       BuildCommand(Data);
       AddToMessageLog(TEXT(Data));
   
  -    // create the jsvc process.
  +    /* create the jsvc process. */
       AddToMessageLog(TEXT("ServiceStart: start jsvc"));
       memset(&StartupInfo,'\0',sizeof(StartupInfo));
       StartupInfo.cb = sizeof(STARTUPINFO);
  @@ -467,7 +522,7 @@
       if (!ReportManager(SERVICE_START_PENDING))
           goto cleanup;
   
  -    // wait until the process is completly created.
  +    /* wait until the process is completly created. */
   /* With the DETACHED_PROCESS it does not work...
       if (WaitForInputIdle(ProcessInformation.hProcess , INFINITE)) {
         AddToMessageLog(TEXT("ServiceStart: jsvc stopped after creation"));
  @@ -475,31 +530,30 @@
         }
    */
   
  -    //
  -    // jsvc is now running.
  -    // report the status to the service control manager.
  -    //
  +    /*
  +     * jsvc is now running.
  +     * report the status to the service control manager.
  +     */
  +
       if (!ReportManager(SERVICE_RUNNING))
           goto cleanup;
   
  -    //
  -    // End of initialization
  -    //
  -    ////////////////////////////////////////////////////////
  -
  -    ////////////////////////////////////////////////////////
  -    //
  -    // Service is now running, perform work until shutdown:
  -    // Check every 60 seconds if the monitor is up.
  -    //
  +    /* End of initialization */
  +
  +    /*
  +     *
  +     * Service is now running, perform work until shutdown:
  +     * Check every 60 seconds if the monitor is up.
  +     *
  +     */
   
       for (;;) {
  -      qreturn = WaitForSingleObject(hServerStopEvent,60000); // each minutes.
  +      qreturn = WaitForSingleObject(hServerStopEvent,60000); /* each minutes. */
   
  -      if (qreturn == WAIT_FAILED) break;// something have gone wrong.
  +      if (qreturn == WAIT_FAILED) break;/* something have gone wrong. */
   
         if (qreturn == WAIT_TIMEOUT) {
  -        // timeout check the monitor.
  +        /* timeout check the monitor. */
           if (GetExitCodeProcess(ProcessInformation.hProcess, &qreturn)) {
             if (qreturn == STILL_ACTIVE) continue;
             }
  @@ -507,13 +561,14 @@
           hMonitorProcess = NULL;
           CloseHandle(hServerStopEvent);
           CloseHandle(ProcessInformation.hProcess);
  -        exit(0); // exit ungracefully so
  -                 // Service Control Manager 
  -                 // will attempt a restart.
  -        break; //failed.
  +        exit(0); /* exit ungracefully so
  +                  * Service Control Manager 
  +                  * will attempt a restart. */
  +                    
  +        break; /*failed. */
           }
   
  -      // stop the monitor by signal(event)
  +      /* stop the monitor by signal(event) */
         sprintf(Data,"ServiceStart: stopping jsvc: %d",
                 ProcessInformation.dwProcessId);
         AddToMessageLog(Data);
  @@ -524,7 +579,7 @@
           }
         WaitForMonitor(6);
         AddToMessageLog(TEXT("ServiceStart: jsvc stopped"));
  -      break; // finished!!!
  +      break; /* finished!!! */
         }
   
     cleanup:
  @@ -538,46 +593,45 @@
   
   }
   
  -
  -//
  -//  FUNCTION: service_ctrl
  -//
  -//  PURPOSE: This function is called by the SCM whenever
  -//           ControlService() is called on this service.
  -//
  -//  PARAMETERS:
  -//    dwCtrlCode - type of control requested
  -//
  -//  RETURN VALUE:
  -//    none
  -//
  -//  COMMENTS:
  -//
  +/*
  + *
  + *  FUNCTION: service_ctrl
  + *
  + *  PURPOSE: This function is called by the SCM whenever
  + *           ControlService() is called on this service.
  + *
  + *  PARAMETERS:
  + *    dwCtrlCode - type of control requested
  + *
  + *  RETURN VALUE:
  + *    none
  + *
  + *  COMMENTS:
  + *
  + */
   VOID WINAPI service_ctrl(DWORD dwCtrlCode)
   {
  -    // Handle the requested control code.
  -    //
  +    /* Handle the requested control code. */
       switch(dwCtrlCode)
       {
  -        // Stop the service.
  -        //
  -        // SERVICE_STOP_PENDING should be reported before
  -        // setting the Stop Event - hServerStopEvent - in
  -        // ServiceStop().  This avoids a race condition
  -        // which may result in a 1053 - The Service did not respond...
  -        // error.
  +        /* Stop the service.
  +         *
  +         * SERVICE_STOP_PENDING should be reported before
  +         * setting the Stop Event - hServerStopEvent - in
  +         * ServiceStop().  This avoids a race condition
  +         * which may result in a 1053 - The Service did not respond...
  +         * error.
  +         */
           case SERVICE_CONTROL_STOP:
               ReportStatusToSCMgr(SERVICE_STOP_PENDING, NO_ERROR, 0);
               ServiceStop();
               return;
   
  -        // Update the service status.
  -        //
  +        /* Update the service status. */
           case SERVICE_CONTROL_INTERROGATE:
               break;
   
  -        // invalid control code
  -        //
  +        /* invalid control code */
           default:
               break;
   
  @@ -586,44 +640,45 @@
       ReportStatusToSCMgr(ssStatus.dwCurrentState, NO_ERROR, 0);
   }
   
  -//
  -//  FUNCTION: service_main
  -//
  -//  PURPOSE: To perform actual initialization of the service
  -//
  -//  PARAMETERS:
  -//    dwArgc   - number of command line arguments
  -//    lpszArgv - array of command line arguments
  -//
  -//  RETURN VALUE:
  -//    none
  -//
  -//  COMMENTS:
  -//    This routine performs the service initialization and then calls
  -//    the user defined ServiceStart() routine to perform majority
  -//    of the work.
  -//
  +/*
  + *
  + *  FUNCTION: service_main
  + *
  + *  PURPOSE: To perform actual initialization of the service
  + *
  + *  PARAMETERS:
  + *    dwArgc   - number of command line arguments
  + *    lpszArgv - array of command line arguments
  + *
  + *  RETURN VALUE:
  + *    none
  + *
  + *  COMMENTS:
  + *    This routine performs the service initialization and then calls
  + *    the user defined ServiceStart() routine to perform majority
  + *    of the work.
  + *
  + */
   void WINAPI service_main(DWORD dwArgc, LPTSTR *lpszArgv)
   {
   
       AddToMessageLog(TEXT("service_main:starting"));
  -    // register our service control handler:
  -    //
  -    sshStatusHandle = RegisterServiceCtrlHandler( TEXT(SZSERVICENAME), 
service_ctrl);
  +
  +    /* register our service control handler: */
  +    sshStatusHandle = RegisterServiceCtrlHandler( TEXT(SZSERVICENAME),
  +                                                   service_ctrl);
   
       if (!sshStatusHandle) {
        AddToMessageLog(TEXT("service_main:RegisterServiceCtrlHandler failed"));
           goto cleanup;
        }
   
  -    // SERVICE_STATUS members that don't change in example
  -    //
  +    /* SERVICE_STATUS members that don't change in example */
       ssStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS;
       ssStatus.dwServiceSpecificExitCode = 0;
   
   
  -    // report the status to the service control manager.
  -    //
  +    /* report the status to the service control manager. */
       if (!ReportStatusToSCMgr(SERVICE_START_PENDING,NO_ERROR,3000))   {
        AddToMessageLog(TEXT("service_main:ReportStatusToSCMgr failed"));
           goto cleanup;
  @@ -633,9 +688,9 @@
       ServiceStart( dwArgc, lpszArgv );
   
   cleanup:
  -
  -    // try to report the stopped status to the service control manager.
  -    //
  +    /*
  +     * try to report the stopped status to the service control manager.
  +     */
       if (sshStatusHandle)
           (VOID)ReportStatusToSCMgr(
                               SERVICE_STOPPED,
  @@ -646,24 +701,26 @@
       return;
   }
   
  -//
  -//  FUNCTION: main
  -//
  -//  PURPOSE: entrypoint for service
  -//
  -//  PARAMETERS:
  -//    argc - number of command line arguments
  -//    argv - array of command line arguments
  -//
  -//  RETURN VALUE:
  -//    none
  -//
  -//  COMMENTS:
  -//    main() either performs the command line task, or
  -//    call StartServiceCtrlDispatcher to register the
  -//    main service thread.  When the this call returns,
  -//    the service has stopped, so exit.
  -//
  +/*
  + *
  + *  FUNCTION: main
  + *
  + *  PURPOSE: entrypoint for service
  + *
  + *  PARAMETERS:
  + *    argc - number of command line arguments
  + *    argv - array of command line arguments
  + *
  + *  RETURN VALUE:
  + *    none
  + *
  + *  COMMENTS:
  + *    main() either performs the command line task, or
  + *    call StartServiceCtrlDispatcher to register the
  + *    main service thread.  When the this call returns,
  + *    the service has stopped, so exit.
  + *
  + */
   #ifdef CYGWIN
   int main(int argc, char **argv)
   #else
  
  
  
  1.4       +89 -30    jakarta-commons-sandbox/daemon/src/native/nt/service/instmain.c
  
  Index: instmain.c
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/daemon/src/native/nt/service/instmain.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- instmain.c        21 Mar 2002 23:17:25 -0000      1.3
  +++ instmain.c        31 Oct 2002 11:32:04 -0000      1.4
  @@ -1,8 +1,67 @@
  +/* ========================================================================= *
  + *                                                                           *
  + *                 The Apache Software License,  Version 1.1                 *
  + *                                                                           *
  + *          Copyright (c) 1999-2001 The Apache Software Foundation.          *
  + *                           All rights reserved.                            *
  + *                                                                           *
  + * ========================================================================= *
  + *                                                                           *
  + * Redistribution and use in source and binary forms,  with or without modi- *
  + * fication, are permitted provided that the following conditions are met:   *
  + *                                                                           *
  + * 1. Redistributions of source code  must retain the above copyright notice *
  + *    notice, this list of conditions and the following disclaimer.          *
  + *                                                                           *
  + * 2. Redistributions  in binary  form  must  reproduce the  above copyright *
  + *    notice,  this list of conditions  and the following  disclaimer in the *
  + *    documentation and/or other materials provided with the distribution.   *
  + *                                                                           *
  + * 3. The end-user documentation  included with the redistribution,  if any, *
  + *    must include the following acknowlegement:                             *
  + *                                                                           *
  + *       "This product includes  software developed  by the Apache  Software *
  + *        Foundation <http://www.apache.org/>."                              *
  + *                                                                           *
  + *    Alternately, this acknowlegement may appear in the software itself, if *
  + *    and wherever such third-party acknowlegements normally appear.         *
  + *                                                                           *
  + * 4. The names  "The  Jakarta  Project",  "WebApp",  and  "Apache  Software *
  + *    Foundation"  must not be used  to endorse or promote  products derived *
  + *    from this  software without  prior  written  permission.  For  written *
  + *    permission, please contact <[EMAIL PROTECTED]>.                        *
  + *                                                                           *
  + * 5. Products derived from this software may not be called "Apache" nor may *
  + *    "Apache" appear in their names without prior written permission of the *
  + *    Apache Software Foundation.                                            *
  + *                                                                           *
  + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES *
  + * INCLUDING, BUT NOT LIMITED TO,  THE IMPLIED WARRANTIES OF MERCHANTABILITY *
  + * AND FITNESS FOR  A PARTICULAR PURPOSE  ARE DISCLAIMED.  IN NO EVENT SHALL *
  + * THE APACHE  SOFTWARE  FOUNDATION OR  ITS CONTRIBUTORS  BE LIABLE  FOR ANY *
  + * DIRECT,  INDIRECT,   INCIDENTAL,  SPECIAL,  EXEMPLARY,  OR  CONSEQUENTIAL *
  + * DAMAGES (INCLUDING,  BUT NOT LIMITED TO,  PROCUREMENT OF SUBSTITUTE GOODS *
  + * OR SERVICES;  LOSS OF USE,  DATA,  OR PROFITS;  OR BUSINESS INTERRUPTION) *
  + * HOWEVER CAUSED AND  ON ANY  THEORY  OF  LIABILITY,  WHETHER IN  CONTRACT, *
  + * STRICT LIABILITY, OR TORT  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN *
  + * ANY  WAY  OUT OF  THE  USE OF  THIS  SOFTWARE,  EVEN  IF  ADVISED  OF THE *
  + * POSSIBILITY OF SUCH DAMAGE.                                               *
  + *                                                                           *
  + * ========================================================================= *
  + *                                                                           *
  + * This software  consists of voluntary  contributions made  by many indivi- *
  + * duals on behalf of the  Apache Software Foundation.  For more information *
  + * on the Apache Software Foundation, please see <http://www.apache.org/>.   *
  + *                                                                           *
  + * ========================================================================= */
  +
  +/* @version $Id$ */
  +
   /*
    * jsvc.exe install program, create the service JavaService
    */
   
  -// includes
  +/* includes */
   #include <windows.h>
   #include <string.h>
   #include <stdio.h>
  @@ -78,41 +137,41 @@
       DWORD           dwCount;
   
       removed = FALSE;
  -    // open service control manager with full access right
  +    /* open service control manager with full access right */
       hManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
       if (NULL != hManager) {
  -        // open existing service
  +        /* open existing service */
           hService = OpenService(hManager, SZSERVICENAME, SERVICE_ALL_ACCESS);
           if (NULL != hService) {
  -            // get the status of the service
  +            /* get the status of the service */
               if (QueryServiceStatus(hService, &svcStatus)) {
  -                // and see if the service is stopped
  +                /* and see if the service is stopped */
                   if (SERVICE_STOPPED != svcStatus.dwCurrentState) {
  -                    // if not stop the service
  +                    /* if not stop the service */
                       ControlService(hService, SERVICE_CONTROL_STOP, &svcStatus);
                   }
                   dwCount = 0;
                   do {
                       if (SERVICE_STOPPED == svcStatus.dwCurrentState) {
  -                        // delete the service
  +                        /* delete the service */
                           if (DeleteService(hService)) {
                               removed = TRUE;
                               break;
                           }
                       }
  -                    // wait 10 seconds for the service to stop
  +                    /* wait 10 seconds for the service to stop */
                       Sleep(10000);
                       if (!QueryServiceStatus(hService, &svcStatus)) {
  -                        // something went wrong
  +                        /* something went wrong */
                           break;
                       }
                       dwCount++;
                   } while (10 > dwCount);
               }
  -            // close service handle
  +            /* close service handle */
               CloseServiceHandle(hService);
           }
  -        // close service control manager
  +        /* close service control manager */
           CloseServiceHandle(hManager);
       }
       return removed;
  @@ -161,25 +220,25 @@
       SC_HANDLE   hService;
   
       installed = FALSE;
  -    // open the service control manager with full access right
  +    /* open the service control manager with full access right */
       hManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
       if (NULL != hManager) {
  -        // create the service
  +        /* create the service
           hService = CreateService(hManager,
  -            SZSERVICENAME,          // name of the service
  -            SZSERVICEDISPLAYNAME,       // description
  +            SZSERVICENAME,             /* name of the service */
  +            SZSERVICEDISPLAYNAME,      /* description */
               SERVICE_ALL_ACCESS,
  -            SERVICE_WIN32_OWN_PROCESS,  // type of service
  -            SERVICE_DEMAND_START, // AUTO_START,    // startmode
  -            SERVICE_ERROR_NORMAL,       // error treatment
  -            svcExePath,         // path_name
  -            NULL,               // no load order enty
  -            NULL,               // no tag identifier.
  -            NULL,               // dependencies.
  -            NULL,       // LocalSystem account
  -            NULL);      // dummy user password
  +            SERVICE_WIN32_OWN_PROCESS,  /* type of service */
  +            SERVICE_DEMAND_START,       /* AUTO_START,  startmode */
  +            SERVICE_ERROR_NORMAL,       /* error treatment */
  +            svcExePath,                 /* path_name */
  +            NULL,                       /* no load order enty */
  +            NULL,                       /* no tag identifier. */
  +            NULL,                       /* dependencies. */
  +            NULL,                       /* LocalSystem account */
  +            NULL);                      /* dummy user password */
           if (NULL != hService) {
  -            // close service handle
  +            /* close service handle */
               CloseServiceHandle(hService);
               installed = TRUE;
           }
  @@ -252,12 +311,12 @@
       HKEY        hKey;
   
       installed = FALSE;
  -    // create the parameters registry tree
  +    /* create the parameters registry tree */
           log_debug("InstallEnv: %s:%s",var,value);
       if (ERROR_SUCCESS == RegCreateKeyEx(HKEY_LOCAL_MACHINE, SZKEY_ONSERVE, 0,
               NULL,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,
               &hKey, NULL)) {
  -            // key is created or opened
  +            /* key is created or opened */
               RegSetValueEx(hKey,var,0,REG_SZ,(BYTE *)value,lstrlen(value)+1);
               RegCloseKey(hKey);
               installed = TRUE;
  @@ -278,12 +337,12 @@
           log_debug("InstallEnvParm: %s:%s",var,value);
   
       installed = FALSE;
  -    // create the parameters registry tree
  +    /* create the parameters registry tree */
       if (ERROR_SUCCESS == RegCreateKeyEx(HKEY_LOCAL_MACHINE,
               SZKEY_ONSERVEARG, 0,
               NULL,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,
               &hKey, NULL)) {
  -            // key is created or opened
  +            /* key is created or opened */
               RegSetValueEx(hKey,var,0,REG_SZ,
                   (BYTE *)value,lstrlen(value)+1);
               RegCloseKey(hKey);
  @@ -399,7 +458,7 @@
       }
   
       if (args->remove==true) {
  -        // remove the  service. removing the keys not yet done!!!
  +        /* remove the  service. removing the keys not yet done!!! */
           printf( "\r\n - removing Java Service...\r\n\r\n");
           if (isWindowsNT())
               done = RemoveSvcNT();
  
  
  
  1.2       +61 -2     jakarta-commons-sandbox/daemon/src/native/nt/signals/kills.c
  
  Index: kills.c
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/daemon/src/native/nt/signals/kills.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- kills.c   18 Feb 2002 21:15:40 -0000      1.1
  +++ kills.c   31 Oct 2002 11:32:04 -0000      1.2
  @@ -1,5 +1,64 @@
  +/* ========================================================================= *
  + *                                                                           *
  + *                 The Apache Software License,  Version 1.1                 *
  + *                                                                           *
  + *          Copyright (c) 1999-2001 The Apache Software Foundation.          *
  + *                           All rights reserved.                            *
  + *                                                                           *
  + * ========================================================================= *
  + *                                                                           *
  + * Redistribution and use in source and binary forms,  with or without modi- *
  + * fication, are permitted provided that the following conditions are met:   *
  + *                                                                           *
  + * 1. Redistributions of source code  must retain the above copyright notice *
  + *    notice, this list of conditions and the following disclaimer.          *
  + *                                                                           *
  + * 2. Redistributions  in binary  form  must  reproduce the  above copyright *
  + *    notice,  this list of conditions  and the following  disclaimer in the *
  + *    documentation and/or other materials provided with the distribution.   *
  + *                                                                           *
  + * 3. The end-user documentation  included with the redistribution,  if any, *
  + *    must include the following acknowlegement:                             *
  + *                                                                           *
  + *       "This product includes  software developed  by the Apache  Software *
  + *        Foundation <http://www.apache.org/>."                              *
  + *                                                                           *
  + *    Alternately, this acknowlegement may appear in the software itself, if *
  + *    and wherever such third-party acknowlegements normally appear.         *
  + *                                                                           *
  + * 4. The names  "The  Jakarta  Project",  "WebApp",  and  "Apache  Software *
  + *    Foundation"  must not be used  to endorse or promote  products derived *
  + *    from this  software without  prior  written  permission.  For  written *
  + *    permission, please contact <[EMAIL PROTECTED]>.                        *
  + *                                                                           *
  + * 5. Products derived from this software may not be called "Apache" nor may *
  + *    "Apache" appear in their names without prior written permission of the *
  + *    Apache Software Foundation.                                            *
  + *                                                                           *
  + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES *
  + * INCLUDING, BUT NOT LIMITED TO,  THE IMPLIED WARRANTIES OF MERCHANTABILITY *
  + * AND FITNESS FOR  A PARTICULAR PURPOSE  ARE DISCLAIMED.  IN NO EVENT SHALL *
  + * THE APACHE  SOFTWARE  FOUNDATION OR  ITS CONTRIBUTORS  BE LIABLE  FOR ANY *
  + * DIRECT,  INDIRECT,   INCIDENTAL,  SPECIAL,  EXEMPLARY,  OR  CONSEQUENTIAL *
  + * DAMAGES (INCLUDING,  BUT NOT LIMITED TO,  PROCUREMENT OF SUBSTITUTE GOODS *
  + * OR SERVICES;  LOSS OF USE,  DATA,  OR PROFITS;  OR BUSINESS INTERRUPTION) *
  + * HOWEVER CAUSED AND  ON ANY  THEORY  OF  LIABILITY,  WHETHER IN  CONTRACT, *
  + * STRICT LIABILITY, OR TORT  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN *
  + * ANY  WAY  OUT OF  THE  USE OF  THIS  SOFTWARE,  EVEN  IF  ADVISED  OF THE *
  + * POSSIBILITY OF SUCH DAMAGE.                                               *
  + *                                                                           *
  + * ========================================================================= *
  + *                                                                           *
  + * This software  consists of voluntary  contributions made  by many indivi- *
  + * duals on behalf of the  Apache Software Foundation.  For more information *
  + * on the Apache Software Foundation, please see <http://www.apache.org/>.   *
  + *                                                                           *
  + * ========================================================================= */
  +
  +/* @version $Id$ */
  +
   /*
  - * as Windows does not support signal, OnServe use event to emulate them.
  + * as Windows does not support signal, jsvc uses events to emulate them.
    * The supported signal is SIGTERM.
    * signals.c contains the signal handler logic.
    */
  @@ -19,7 +78,7 @@
     sprintf(Name,"TERM%ld",pid);
   
     hevint = OpenEvent(EVENT_MODIFY_STATE,FALSE,Name);
  -  if (hevint == NULL) return(-1); // failed
  +  if (hevint == NULL) return(-1); /* failed */
   
     rc = SetEvent(hevint);
     CloseHandle(hevint);
  
  
  
  1.3       +84 -34    jakarta-commons-sandbox/daemon/src/native/nt/supcalls_nt/vdenv.c
  
  Index: vdenv.c
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/daemon/src/native/nt/supcalls_nt/vdenv.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- vdenv.c   20 Mar 2002 23:39:32 -0000      1.2
  +++ vdenv.c   31 Oct 2002 11:32:04 -0000      1.3
  @@ -1,16 +1,66 @@
  -#ident "%W% %E%    ONSERVE V3.0"
  +/* ========================================================================= *
  + *                                                                           *
  + *                 The Apache Software License,  Version 1.1                 *
  + *                                                                           *
  + *          Copyright (c) 1999-2001 The Apache Software Foundation.          *
  + *                           All rights reserved.                            *
  + *                                                                           *
  + * ========================================================================= *
  + *                                                                           *
  + * Redistribution and use in source and binary forms,  with or without modi- *
  + * fication, are permitted provided that the following conditions are met:   *
  + *                                                                           *
  + * 1. Redistributions of source code  must retain the above copyright notice *
  + *    notice, this list of conditions and the following disclaimer.          *
  + *                                                                           *
  + * 2. Redistributions  in binary  form  must  reproduce the  above copyright *
  + *    notice,  this list of conditions  and the following  disclaimer in the *
  + *    documentation and/or other materials provided with the distribution.   *
  + *                                                                           *
  + * 3. The end-user documentation  included with the redistribution,  if any, *
  + *    must include the following acknowlegement:                             *
  + *                                                                           *
  + *       "This product includes  software developed  by the Apache  Software *
  + *        Foundation <http://www.apache.org/>."                              *
  + *                                                                           *
  + *    Alternately, this acknowlegement may appear in the software itself, if *
  + *    and wherever such third-party acknowlegements normally appear.         *
  + *                                                                           *
  + * 4. The names  "The  Jakarta  Project",  "WebApp",  and  "Apache  Software *
  + *    Foundation"  must not be used  to endorse or promote  products derived *
  + *    from this  software without  prior  written  permission.  For  written *
  + *    permission, please contact <[EMAIL PROTECTED]>.                        *
  + *                                                                           *
  + * 5. Products derived from this software may not be called "Apache" nor may *
  + *    "Apache" appear in their names without prior written permission of the *
  + *    Apache Software Foundation.                                            *
  + *                                                                           *
  + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES *
  + * INCLUDING, BUT NOT LIMITED TO,  THE IMPLIED WARRANTIES OF MERCHANTABILITY *
  + * AND FITNESS FOR  A PARTICULAR PURPOSE  ARE DISCLAIMED.  IN NO EVENT SHALL *
  + * THE APACHE  SOFTWARE  FOUNDATION OR  ITS CONTRIBUTORS  BE LIABLE  FOR ANY *
  + * DIRECT,  INDIRECT,   INCIDENTAL,  SPECIAL,  EXEMPLARY,  OR  CONSEQUENTIAL *
  + * DAMAGES (INCLUDING,  BUT NOT LIMITED TO,  PROCUREMENT OF SUBSTITUTE GOODS *
  + * OR SERVICES;  LOSS OF USE,  DATA,  OR PROFITS;  OR BUSINESS INTERRUPTION) *
  + * HOWEVER CAUSED AND  ON ANY  THEORY  OF  LIABILITY,  WHETHER IN  CONTRACT, *
  + * STRICT LIABILITY, OR TORT  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN *
  + * ANY  WAY  OUT OF  THE  USE OF  THIS  SOFTWARE,  EVEN  IF  ADVISED  OF THE *
  + * POSSIBILITY OF SUCH DAMAGE.                                               *
  + *                                                                           *
  + * ========================================================================= *
  + *                                                                           *
  + * This software  consists of voluntary  contributions made  by many indivi- *
  + * duals on behalf of the  Apache Software Foundation.  For more information *
  + * on the Apache Software Foundation, please see <http://www.apache.org/>.   *
  + *                                                                           *
  + * ========================================================================= */
   
  -/* ------------------------------------------------------------      *
  - * file:     vdenv.c
  - * authors:  OEC BS DC22, Barcelona
  - * date:     January 1998
  - * compiler: ANSI C
  - * desc:        Read the Win-NT register and set the OnServe environment
  - *              variable. Set the PATH (for dynamic linking!).
  - * note:
  - * bugs:     0
  - * ------------------------------------------------------------      */
  +/* @version $Id$ */
   
  +/* Read the Win-NT register and set the jsvc environment variable. */
  +/* XXX We should use a property file instead  registry */
  +
  +/* XXX Set the PATH (for dynamic linking!) what about libapr*.so? */
   
   #include <windows.h>
   #include "moni_inst.h"
  @@ -27,37 +77,37 @@
     if (putenv(Variable)) return(-1);
     return(0);
   }
  -//
  -//  FUNCTION: OnServeSetEnv()
  -//
  -//  PURPOSE: Actual code of the routine that reads the registry and
  -//           set the OnServe environment variables.
  -//           The PATH is needed for the dynamic linking.
  -//
  -//  RETURN VALUE:
  -//    0 : All OK.
  -//    <0: Something Failed. (Registry cannot be read or one key cannot be read).
  -//
  -//
  +/*
  + *  FUNCTION: OnServeSetEnv()
  + *
  + *  PURPOSE: Actual code of the routine that reads the registry and
  + *           set the OnServe environment variables.
  + *           The PATH is needed for the dynamic linking.
  + *
  + *  RETURN VALUE:
  + *    0 : All OK.
  + *    <0: Something Failed. (Registry cannot be read or one key cannot be read).
  + *
  +*/
   int OnServeSetEnv ()
   {
   HKEY    hKey=NULL;
   DWORD        Type;
  -char jakarta_home[ENVSIZE]; // for the path
  -char cygwin[ENVSIZE]; // for the path
  +char jakarta_home[ENVSIZE]; /* for the path */
  +char cygwin[ENVSIZE]; /* for the path */
   char Data[ENVSIZE];
   DWORD        LData;
   int  qreturn=0;
   
   
  -    // Read the registry and set environment.
  +    /* Read the registry and set environment. */
       if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, SZKEY_ONSERVE,
                           0, KEY_READ,&hKey) !=  ERROR_SUCCESS)
         return(-1);
   
  -    // read key and set environment.
  +    /* read key and set environment. */
   
  -    // JAKARTA_HOME
  +    /* JAKARTA_HOME */
       LData = sizeof(Data);
       if (RegQueryValueEx(hKey,"JAKARTA_HOME",NULL,&Type,Data,&LData)==ERROR_SUCCESS) 
{
         strcpy(jakarta_home,Data);
  @@ -66,7 +116,7 @@
       else 
         qreturn = -2;
   
  -    // CYGWIN
  +    /* CYGWIN */
       LData = sizeof(Data);
       if (RegQueryValueEx(hKey,"CYGWIN",NULL,&Type,Data,&LData)==ERROR_SUCCESS) {
         strcpy(cygwin,Data);
  @@ -75,7 +125,7 @@
       else 
         qreturn = -3;
   
  -    // JAVA_HOME
  +    /* JAVA_HOME */
       LData = sizeof(Data);
       if (RegQueryValueEx(hKey,"JAVA_HOME",NULL,&Type,Data,&LData)
           ==ERROR_SUCCESS) {
  @@ -87,7 +137,7 @@
       RegCloseKey(hKey);
       hKey = NULL;
   
  -    // set the PATH otherwise nothing works!!!                                  
  +    /* set the PATH otherwise nothing works!!! */
       LData = sizeof(Data);                                                       
       if (!GetEnvironmentVariable("PATH",Data,LData)) {                           
         strcpy(Data,jakarta_home);
  @@ -126,7 +176,7 @@
   
       strcat(data,"\\jsvc.exe -nodetach ");
   
  -    // Read the registry and set environment.
  +    /* Read the registry and set environment. */
       if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, SZKEY_ONSERVEARG,
                        0, KEY_READ,&hKey) !=  ERROR_SUCCESS)
           return(-1);
  @@ -134,7 +184,7 @@
                           &nvalue,NULL, NULL, NULL, NULL) != ERROR_SUCCESS)
           return(-2);
   
  -    // Read the arguments
  +    /* Read the arguments */
       for (i=0;i<nvalue;i++) {
           lname = sizeof(name);
           lvalue = sizeof(value);
  @@ -151,7 +201,7 @@
       }
       RegCloseKey(hKey);
   
  -    // Read the start class.
  +    /* Read the start class. */
       if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, SZKEY_ONSERVE,
                           0, KEY_READ,&hKey) !=  ERROR_SUCCESS)
           return(-4);
  
  
  
  1.2       +71 -12    jakarta-commons-sandbox/daemon/src/native/unix/native/signals.c
  
  Index: signals.c
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/daemon/src/native/unix/native/signals.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- signals.c 18 Feb 2002 21:15:42 -0000      1.1
  +++ signals.c 31 Oct 2002 11:32:04 -0000      1.2
  @@ -1,12 +1,71 @@
  +/* ========================================================================= *
  + *                                                                           *
  + *                 The Apache Software License,  Version 1.1                 *
  + *                                                                           *
  + *          Copyright (c) 1999-2001 The Apache Software Foundation.          *
  + *                           All rights reserved.                            *
  + *                                                                           *
  + * ========================================================================= *
  + *                                                                           *
  + * Redistribution and use in source and binary forms,  with or without modi- *
  + * fication, are permitted provided that the following conditions are met:   *
  + *                                                                           *
  + * 1. Redistributions of source code  must retain the above copyright notice *
  + *    notice, this list of conditions and the following disclaimer.          *
  + *                                                                           *
  + * 2. Redistributions  in binary  form  must  reproduce the  above copyright *
  + *    notice,  this list of conditions  and the following  disclaimer in the *
  + *    documentation and/or other materials provided with the distribution.   *
  + *                                                                           *
  + * 3. The end-user documentation  included with the redistribution,  if any, *
  + *    must include the following acknowlegement:                             *
  + *                                                                           *
  + *       "This product includes  software developed  by the Apache  Software *
  + *        Foundation <http://www.apache.org/>."                              *
  + *                                                                           *
  + *    Alternately, this acknowlegement may appear in the software itself, if *
  + *    and wherever such third-party acknowlegements normally appear.         *
  + *                                                                           *
  + * 4. The names  "The  Jakarta  Project",  "WebApp",  and  "Apache  Software *
  + *    Foundation"  must not be used  to endorse or promote  products derived *
  + *    from this  software without  prior  written  permission.  For  written *
  + *    permission, please contact <[EMAIL PROTECTED]>.                        *
  + *                                                                           *
  + * 5. Products derived from this software may not be called "Apache" nor may *
  + *    "Apache" appear in their names without prior written permission of the *
  + *    Apache Software Foundation.                                            *
  + *                                                                           *
  + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES *
  + * INCLUDING, BUT NOT LIMITED TO,  THE IMPLIED WARRANTIES OF MERCHANTABILITY *
  + * AND FITNESS FOR  A PARTICULAR PURPOSE  ARE DISCLAIMED.  IN NO EVENT SHALL *
  + * THE APACHE  SOFTWARE  FOUNDATION OR  ITS CONTRIBUTORS  BE LIABLE  FOR ANY *
  + * DIRECT,  INDIRECT,   INCIDENTAL,  SPECIAL,  EXEMPLARY,  OR  CONSEQUENTIAL *
  + * DAMAGES (INCLUDING,  BUT NOT LIMITED TO,  PROCUREMENT OF SUBSTITUTE GOODS *
  + * OR SERVICES;  LOSS OF USE,  DATA,  OR PROFITS;  OR BUSINESS INTERRUPTION) *
  + * HOWEVER CAUSED AND  ON ANY  THEORY  OF  LIABILITY,  WHETHER IN  CONTRACT, *
  + * STRICT LIABILITY, OR TORT  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN *
  + * ANY  WAY  OUT OF  THE  USE OF  THIS  SOFTWARE,  EVEN  IF  ADVISED  OF THE *
  + * POSSIBILITY OF SUCH DAMAGE.                                               *
  + *                                                                           *
  + * ========================================================================= *
  + *                                                                           *
  + * This software  consists of voluntary  contributions made  by many indivi- *
  + * duals on behalf of the  Apache Software Foundation.  For more information *
  + * on the Apache Software Foundation, please see <http://www.apache.org/>.   *
  + *                                                                           *
  + * ========================================================================= */
  +
  +/* @version $Id$ */
  +
   /*
  - * as Windows does not support signal, OnServe use event to emulate them.
  + * as Windows does not support signal, jsvc use event to emulate them.
    * The supported signal is SIGTERM.
    * The kills.c contains the kill logic.
    */
   #ifdef OS_CYGWIN
   #include <windows.h>
   #include <stdio.h>
  -static void (*HandleTerm)()=NULL; // address of the handler routine.
  +static void (*HandleTerm)()=NULL; /* address of the handler routine. */
   
   /*
    * Event handling routine
  @@ -19,11 +78,11 @@
   
     for (;;) {
       if (WaitForSingleObject(hevint,INFINITE) == WAIT_FAILED) {
  -      // something have gone wrong.
  -      return; // may be something more is needed.
  +      /* something have gone wrong. */
  +      return; /* may be something more is needed. */
         }
   
  -    // call the interrupt handler.
  +    /* call the interrupt handler. */
       if (HandleTerm==NULL) return;
       HandleTerm();
       }
  @@ -49,10 +108,10 @@
      * the start state is resetted.
      */
   
  -  // Initialize the new security descriptor.
  +  /* Initialize the new security descriptor. */
     InitializeSecurityDescriptor (&sd, SECURITY_DESCRIPTOR_REVISION);
   
  -  // Add a NULL descriptor ACL to the security descriptor.
  +  /* Add a NULL descriptor ACL to the security descriptor. */
     SetSecurityDescriptorDacl (&sd, TRUE, (PACL)NULL, FALSE);
   
     sa.nLength = sizeof(sa);
  @@ -60,23 +119,23 @@
     sa.bInheritHandle = TRUE;
   
   
  -  //  It works also with NULL instead &sa!!
  +  /*  It works also with NULL instead &sa!! */
     hevint = CreateEvent(&sa,FALSE, FALSE,Name);
   
     HandleTerm = (int (*)()) func;
   
  -  if (hevint == NULL) return(-1); // failed
  +  if (hevint == NULL) return(-1); /* failed */
   
     /* create the thread to wait for event */
     hthread = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE) v_difthf,
                            (LPVOID) hevint, 0, &ThreadId);
     if (hthread == NULL) {
  -    // failed remove the event
  -    CloseHandle(hevint); // windows will remove it.
  +    /* failed remove the event */
  +    CloseHandle(hevint); /* windows will remove it. */
       return(-1);
       }
   
  -  CloseHandle(hthread); // not needed
  +  CloseHandle(hthread); /* not needed */
     return(0);
   }
   #endif
  
  
  

--
To unsubscribe, e-mail:   <mailto:commons-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:commons-dev-help@;jakarta.apache.org>

Reply via email to