cyrus-imapd 3.0.0 next beta and release plan?

Ken Murchison murch at andrew.cmu.edu
Wed Dec 30 05:49:01 EST 2015


The main motivation was that I/we wanted this completely contained 
within Cyrus rather than using an external service.  A second, and 
minor, motivation was that I wanted to prove that I could do it.  A lot 
of the code needed was already in place from the other services.


On 12/29/2015 02:38 PM, Thomas Jarosch wrote:
> Hi Ken,
>
> Am 29.12.2015 um 16:32 schrieb Ken Murchison:
>> 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 processin
>> code will have periodically check the status of the global variable.  Or do you have a more creative idea?
> checking a global variable is how it's done usually. Or if the HTTP server
> is using some kind of event driven framework, set up a timer instead of SIGARLM.
>   
> On linux there's signalfd(), but that's non-portable, so a no no for cyrus.
>
> The global variable should be of type "volatile sig_atomic_t".
>
>
>
> Random side note: What was the main motivation for implementing
> an own HTTP server including authentication stuff / chunked encoding etc?
>
> Was implementing an Apache httpd module in C considered without
> redoing the whole HTTP protocol layer? Just wondering,
> we are doing our stuff at dayjob as a C++ apache module.
> You just register a handler for URIs / mime-types you are interested in.
>
> Other HTTP server like ngix would probably work, too.
>
> Cheers,
> Thomas
>

-- 
Kenneth Murchison
Principal Systems Software Engineeer
Carnegie Mellon University



More information about the Cyrus-devel mailing list