On Tue, May 13, 2014 at 09:37:47AM +0000, 'Bruncsak, Attila' attila.bruncsak@... [milter-greylist] wrote: > As a principle all lock protected critical section must not contain any > other actions than manipulating the memory of the process shared > between the threads. I agree. But the problem here is that acl_filter() is working on an ACL entry and we do not want it to be freed during its operation. We do a rought lock of the whole list during the operation, and it can be improved. Locking the individual entry seems the way to go, but this means adding a refcount so that it can be detached from the list (by config reload) during operation, and freed by the last user when refcount drops to zero. That will let config reload working, but that does not solves the problem of stuck threads holding a reference on an ACL entry forever. As the threads will accumulate, we will reach the point where the program still fail. -- Emmanuel Dreyfus manu@...
Message
Re: [milter-greylist] hang in new configuration load
2014-05-13 by Emmanuel Dreyfus
Attachments
- No local attachments were found for this message.