Hi David,
This was a classical race condition, where one thread was accessing the
connPtr of another thread while it
was de-allocating. The committed version should not lead to this
situation anymore.
In general, it is not the best approach to check in every connection the
state of all connections, which
is a quadratic operation on the number of running connections. I would
rather recommend to use
either nsvs to track connections/peers, or to use a separate monitoring
thread keeping this information
up to date, receiving information about starting and ending threads.
please check, if the changes work as well with your setup and tests.
-g
Am 06.10.17 um 11:46 AM schrieb David Osborne:
However, the ns_server call is the first thing it does. In fact I can
strip the filter down to only do the following and still get the same
signal 11 (it also segfaults if returning filter_ok but takes longer)
proc filter_dos_check { event args } {
set requests_active [ns_server -server [ns_info server] -pool {}
active -checkforproxy]
return filter_return
}
Thanks for the patch.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel