# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 lib\apr\Release\aprlib.lib os\win32\ApacheOSR\ApacheOS.lib regex\release\regex.lib ap\Release\ap.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /machine:I386
+# ADD LINK32 lib\apr\Release\aprlib.lib regex\release\regex.lib ap\Release\ap.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /machine:I386
!ELSEIF "$(CFG)" == "ApacheCore - Win32 Debug"
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
-# ADD LINK32 lib\apr\debug\aprlib.lib regex\debug\regex.lib os\win32\ApacheOSD\ApacheOS.lib ap\Debug\ap.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /debug /machine:I386
+# ADD LINK32 lib\apr\debug\aprlib.lib regex\debug\regex.lib ap\Debug\ap.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /debug /machine:I386
# SUBTRACT LINK32 /map
!ENDIF
cd lib\apr
nmake /nologo CFG="aprlib - Win32 $(LONG)" -f aprlib.mak
cd ..\..
- cd os\win32
- nmake /nologo CFG="ApacheOS - Win32 $(LONG)" -f ApacheOS.mak
- cd ..\..
cd regex
nmake /nologo CFG="regex - Win32 $(LONG)" -f regex.mak
cd ..
cd lib\apr
nmake /nologo CFG="aprlib - Win32 $(LONG)" -f aprlib.mak clean
cd ..\..
- cd os\win32
- nmake /nologo CFG="ApacheOS - Win32 $(LONG)" -f ApacheOS.mak clean
- cd ..\..
cd regex
nmake /nologo CFG="regex - Win32 $(LONG)" -f regex.mak clean
cd ..
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 lib\apr\Release\aprlib.lib os\win32\ApacheOSR\ApacheOS.lib regex\release\regex.lib ap\Release\ap.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /machine:I386
+# ADD LINK32 lib\apr\Release\aprlib.lib regex\release\regex.lib ap\Release\ap.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /machine:I386
!ELSEIF "$(CFG)" == "ApacheCore - Win32 Debug"
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
-# ADD LINK32 lib\apr\debug\aprlib.lib regex\debug\regex.lib os\win32\ApacheOSD\ApacheOS.lib ap\Debug\ap.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /debug /machine:I386
+# ADD LINK32 lib\apr\debug\aprlib.lib regex\debug\regex.lib ap\Debug\ap.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ws2_32.lib mswsock.lib /nologo /subsystem:windows /dll /debug /machine:I386
# SUBTRACT LINK32 /map
!ENDIF
{
int i;
- free_thread(handles[thread_to_clean]);
+ CloseHandle(handles[thread_to_clean]);
for (i = thread_to_clean; i < ((*thread_cnt) - 1); i++)
handles[i] = handles[i + 1];
(*thread_cnt)--;
static void child_main()
{
int nthreads = ap_threads_per_child;
-
+ int thread_id;
thread **child_handles;
int rv;
ap_status_t status;
ap_log_error(APLOG_MARK,APLOG_INFO, APR_SUCCESS, server_conf, "Child %d: Creating %d worker threads",my_pid, nthreads);
child_handles = (thread *) alloca(nthreads * sizeof(int));
for (i = 0; i < nthreads; i++) {
- child_handles[i] = create_thread((void (*)(void *)) worker_main, (void *) i);
+ child_handles[i] = (thread *) _beginthreadex(NULL, 0, (LPTHREAD_START_ROUTINE) worker_main,
+ NULL, 0, &thread_id);
}
if (osver.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) {
/* Win95/98: Create the accept thread */
- create_thread((void (*)(void *)) accept_and_queue_connections, (void *) NULL);
+ _beginthreadex(NULL, 0, (LPTHREAD_START_ROUTINE) accept_and_queue_connections,
+ (void *) i, 0, &thread_id);
}
/* Wait for the exit event to be signaled by the parent process */
break;
}
for (i = 0; i < nthreads; i++) {
- kill_thread(child_handles[i]);
- free_thread(child_handles[i]);
+ TerminateThread(child_handles[i], 1);
+ CloseHandle(child_handles[i]);
}
ap_log_error(APLOG_MARK,APLOG_INFO, APR_SUCCESS, server_conf,
"Child %d: All worker threads have ended.", my_pid);