Github user nickva commented on the issue:

    https://github.com/apache/couchdb-couch/pull/236
  
    @davisp @sagelywizard 
    
    Used process dictionary to fix two issues:
    
    1) Lack of configuration. Configuration is now read from 
`couchdb.idle_check_timeout` with a default of 60000 msec. Every timeout period 
it is refreshed from config module and put into process dictionary.
    
    2) Potentially having more than 1 timeout message in flight. This could 
happen if shorty after a hibernate event, there is a gen_server message handled 
which sets a new timeout. So now they'd be two of them. To fix that, timer ref 
from send_after is stuck in the process dictionary and it is canceled before 
sending another. Now there is still a chance that previous timeout already is 
in the message queue, but there is no chance of an overlapping timeout message 
cascade forming.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to