I wrote a new, very simple thread pool at freenet.thread.PThreadFactory.
I committed it but I haven't yet committed the changes to integrate it
within the node. I've done this in my local tree and have been
hammering on it pretty hard without any problems, however.
With the new threading code I also have these diagnostics to add:
jobsExecuted - number of jobs run with threadpool threads
overflowThreads - number of overflow threads the threadpool created
to satisfy the Ticker or a LocalInterface
insufficientThreads - number of times the threadpool rejected a job
(i.e., thread limit rejection on inbound conn)
tickerDelay - delay in millis between when an MO is scheduled
to execute and when it actually does start
This is the beginning of a minor but thorough overhaul of the node's
threading and connection management to weed out bugs and increase
throughput.
Comments?
-tc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 240 bytes
Desc: not available
URL:
<https://emu.freenetproject.org/pipermail/devl/attachments/20020207/17a0a8d3/attachment.pgp>