Some weeks ago I asked the list about mmap access arbitration in
NNTPCACHE, since my investigation showed that interprocess communication
in nntpcache was not protected in any way against race conditions.
I was scared. That fact would explain random mmap corruptions under
heavy load. The only solution in that situation was to erase cache.mmap
and cache.base files , and restart the process. Downtime, anyway.
Not an option.
So I studied NNTPCACHE code and patched it to use posix "mutexes" (I'm
using Solaris) to coordinate access to mmap between processes. The
counters are available also as variables accesible from the integrated
webserver.
The patches are not perfect, and when the server is under servere load
(especially if you use several uplink NNTPs), contention is high. But
I'm leaving for christmas holydays and some peope keep asking for my
patches.
BTW, When can we hear a word from the original programmers?.
--
Jesus Cea Avion _/_/ _/_/_/ _/_/_/
jcea@argo.es http://www.argo.es/~jcea/ _/_/ _/_/ _/_/ _/_/ _/_/
_/_/ _/_/ _/_/_/_/_/
PGP Key Available at KeyServ _/_/ _/_/ _/_/ _/_/ _/_/
"Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/
"My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz
nntp_patch.gz