Files
admin
base
com
developer
drivers
ds
enduser
inetcore
inetsrv
iis
admin
browseinfo
config
exe
iisrearc
img
admsamp
aspjava
common
custerr
help
htmla
htmlraid
psdksamp
admin
asp
components
isapi
extensions
cgiwrap
chunk
com
formdump
io
keep-alive
keepalivewiththreads
keepalivep.c
keepalivep.def
keepalivep.dsp
keepalivep.dsw
makefile
readme.txt
threadpool.c
threadpool.h
redirect
servervariables
simple
workerthread
filters
iis_as_process.txt
scripts
sdksamp
wwwroot
default.htm
dirs
extcomp.ini
iisperf.pmc
inetstp.hlp
logtemp.sql
inc
last
lkrhash
qfetools
setup
staxinc
svcs
ui
utils
bldzip.pl
clean.bat
coffbase.txt
dirs
guids.txt
iisntw.chm
inetrel.cmd
internet.mk
k2ver.pl
make128.cmd
makefile
makefile.chi
mkdev.cmd
mksample.cmd
mkwebcat.cmd
place.inc
place51.inc
placefil.txt
placefil5.txt
project.mk
sdkdrop.bat
update.cmd
wcrel.cmd
intlwb
msmq
published
query
dirs
project.mk
loc
mergedcomponents
multimedia
net
printscan
public
published
sdktools
shell
termsrv
tools
windows
dirs
makefil0
WindowsXP/inetsrv/iis/img/psdksamp/isapi/extensions/keepalivewiththreads/threadpool.h
2025-04-27 07:49:33 -04:00

33 lines
916 B
C

/*++
Copyright (c) 1997 Microsoft Corporation
Module Name: ThreadPool.h
--*/
// Number of threads in pool
#define POOL_THREADS 2
// Number of entries in ECBqueue
#define WORK_QUEUE_ENTRIES 2
// Global critical section to control access to ECB queue
CRITICAL_SECTION csQueueLock;
// Semaphore to wait on in worker thread; each time an ECB is added to the
// ECBqueue by HttpExtensionProc, the semaphore must be released once
HANDLE hWorkSem;
// These functions will add/retrieve an ECB to/from the linked list.
// ENTER csQueueLock BEFORE CALLING AND LEAVE csQueueLock AFTER
// RETURNING FROM THESE FUNCTIONS!!!
BOOL AddWorkQueueEntry(EXTENSION_CONTROL_BLOCK *);
BOOL GetWorkQueueEntry(EXTENSION_CONTROL_BLOCK ** ppECB);
// This function initializes the thread pool
BOOL InitThreadPool(void);
// Function that threads in pool run
DWORD WINAPI WorkerFunction(LPVOID);