From: Gustaf N. <ne...@wu...> - 2017-10-06 11:19:02
|
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. > |