Bug 37776

Summary: '_commit()' Call in libhttpd.dll Produces Error in VS 2005
Product: Apache httpd-2 Reporter: Spencer Harris <dpbjinc2>
Component: mpm_winntAssignee: Apache HTTPD Bugs Mailing List <bugs>
Status: RESOLVED WORKSFORME    
Severity: major    
Priority: P1    
Version: 2.2.0   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   

Description Spencer Harris 2005-12-04 05:19:25 UTC
I have compiled httpd with Visual Studio .NET 2005 (no SSL).  I successfully
installed all files into C:\apache2.  Finally, I installed httpd as a service by
using 'httpd -k install', which worked fine.  However, whenever I try to start
the server, I receive the message "Invalid file descriptor. File possibly closed
by a different thread."

When I attached VS 2005 to httpd to debug it, the debugger pointed out a line of
code in commit.c, which.  I traced the stack and found that the c file was
compiled into msvcr80.dll.  The method was called from within libhttpd.dll, in
source file nt_eventlog.c, in method mpm_nt_eventlog_stderr_open, at line 169,
with the code '_commit(2);'

I believe this is an incompatibility with the .NET 2.0 Framework.  Ignoring the
error will allow the server to run, but I suspect this error will cause problems
in the long run.
Comment 1 William A. Rowe Jr. 2007-12-21 21:14:01 UTC
see if the sp1 of vc2005 resolves this, I hadn't bumped into it.