Subject Memory Leak
Author lester@lsces.globalnet.co.uk
I am getting out of my depth here so a pointer would help.

In order that I can carry on processing messages as soon as they arrive
( one is the time signal for the system ) I have created a list of
records that have to be updated, and these are processed in order. So I
have a routine that uses IB_DataPump to copy a record from the main
server to the local copy. It is running on a simple timer, and uses the
same timer to check for a stuck update. If the list is empty, then I
either just stop scanning and wait for the next number on the list, or I
drop the connection, and remake it later.

The logic works fine, and everything 'feels' better responce wise, but I
have a growth problem that I took some time to track. I have Memproof
running now, and while it has a problem running on W2k, crashing when
trying to load gds32.dll, NT and 98 are fine if I have another
application already using gds32. Memproof is logging a 'Create Thread'
for every update, hence the growth. I have a separate module with it's
own connections and timer which should be running all the time, so where
is the extra thread coming from, or more to the point, how do I track
this. Initial attempts are pointing at IB_DataPump, but there are two of
them, and only one thread.

Can anybody help?

--
Lester Caine
-----------------------------
L.S.Caine Electronic Services