You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by Frank Faubert <fr...@sane.com> on 1997/11/14 12:45:57 UTC

os-windows/1417: NT Service may never shutdown

>Number:         1417
>Category:       os-windows
>Synopsis:       NT Service may never shutdown
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    apache
>State:          open
>Class:          sw-bug
>Submitter-Id:   apache
>Arrival-Date:   Fri Nov 14 03:50:01 PST 1997
>Last-Modified:
>Originator:     frank@sane.com
>Organization:
apache
>Release:        1.3b2
>Environment:
NT 4.0, MSVC 5.0
>Description:
There is an error in the for loop below where it may never exit.  Swapping
the tmstart and time(NULL) values will fix it.  
>How-To-Repeat:
Stop the service
>Fix:
*** http_main.c.orig    Thu Nov 13 17:05:33 1997
--- http_main.c Thu Nov 13 17:07:13 1997
***************
*** 4250,4256 ****
        SetEvent(ev[i]);
      }

!     for (tmstart = time(NULL); nchild && (tmstart < (time(NULL) + 60));) {
        service_set_status(SERVICE_STOP_PENDING);
        rv = WaitForMultipleObjects(nchild, (HANDLE *) child, FALSE, 2000);
        ap_assert(rv != WAIT_FAILED);
--- 4250,4256 ----
        SetEvent(ev[i]);
      }

!     for (tmstart = time(NULL); nchild && (time(NULL) < (tmstart + 60));) {
        service_set_status(SERVICE_STOP_PENDING);
        rv = WaitForMultipleObjects(nchild, (HANDLE *) child, FALSE, 2000);
        ap_assert(rv != WAIT_FAILED)%3
>Audit-Trail:
>Unformatted: