Thomas,

If all that can be done safely in the signal handler is setting a global variable, I might just scrap the heartbeat functionality. The alternative is that the actual method processing code will have periodically check the status of the global variable. Or do you have a more creative idea?



On 12/29/2015 09:44 AM, Thomas Jarosch wrote:
On Sunday, 27. December 2015 09:48:46 Bron Gondwana via Cyrus-devel wrote:
I think I'd like to do the next beta after CalConnect, which is Jan 10-15.
Ken and I will both be working on making sure the calendaring is really
solid.  My main goal from this calconnect is to get our test cases up to
scratch and integrate with Apple's CalTester in Cassandane so we get the
benefit of their tests too.
if you and Ken are going to touch the CalDAV stuff, there's still the issue
in httpd.c's keep_alive() function calling non-trivial code that might
malloc() and therefore block the whole process.

This is what I wrote back then in the email on 2015-09-01
titled "cyrus 2.4 deadlock identified: SIGALRM race":

---------------------------------------
@Ken: The keep_alive() function in httpd.c (CalDAV)
probably suffers from the same signal handler issue.
---------------------------------------

Cheers,
Thomas


--
Kenneth Murchison
Principal Systems Software Engineer
Carnegie Mellon University

Reply via email to