Jeroen van Wolffelaar wrote:
> [snip]
>>> Fine. I did put the function back where it was though, instead of moving
>>> it way below, because the stuff in between can hang (for example, when
>>> failing to connect, it'll indefinitely retry every 15 seconds, causing
>>> 'start' to hang).
>>>   
>>>       
>> Yup. I noticed that.
>> From my POV, it is related to a "misconfiguration" of the server ---
>> being configured to connect to a nonexistent/malfunctioning IMAP server.
>> However, I do realize it could hang the booting process, so it should be
>> fixed.
>>
>> ACK to your solution
>>     
>
> It's a misconfiguration, sure, but one that happens on default install
> (out of the box imapproxy is misconfigured? Well, it was in my case, but
> probably related to the fact that I don't actually have any imap server
> running on my test machine :)
>   
Well, I do. But I did test that case (pointing to a non-existant server)
Imapproxy's configuration process does ask you for a server, so a
misconfiguration there is certainly due to the user.
> In any case, yeah, the problem is that start should simply never hang.
>
>   
>>> Moving Daemonize to later on was not related to this RC bug. Putting it
>>> in its own function isn't either, but is pretty harmless, so ok.
>>>   
>>>       
>> It does allow to move where Daemonize is called easily ;)
>>     
>>>>  - added support for the "-p pidfile" option
>>>>     
>>>>         
>>> Cool. There was a buglet here -- you didn't initialize the var and then
>>> only overwrote it with the default if it started with a nulbyte. I
>>> changed that to simply always initialize it to the default.
>>>   
>>>       
>> Indeed. I know better than to have a variable unitialized, BUT I
>> followed upstream's style here (the same pattern as with the configfile)
>> -- I am aiming for inclusion of this by now HUGE patch, anyway...
>>     
>
> Yes, but in that case, you failed to properly copy&paste the full thing
> -- upstream *does* set the first byte of ConfigFile to \0, you didn't
> copy that bit. 
:-\   Touché.
> You also didn't completely copy the logging to be
> analogous.
>   
This was on purpose.
>>>> I have tested starting / restarting / stopping / re-stopping
>>>>         
>>> Added code to not actually fail on second start / fail on second stop
>>> that I had already prepared. It now should really work fine in all
>>> cases.
>>>
>>> I also removed dead code from checking the exit state of a 'true'. I
>>> removed the "|| true" so that the script just fails right there when it
>>> eh, fails.
>>>   
>>>       
>> ACK. I will re-check the Developer's Reference for mandated/recommended
>> messages and initscript behaviour in those cases not covered by the Policy.
>>     
>
> I'm not so sure either dev-ref or policy are very verbose on this, it'd
> be good for someone to look into this at some point... But world peace
> would also be nice :).
>   
Ok. I will try and bug developers-reference for this :-)
> [snip]
> Anyway, thanks a lot for your work on the pidfile handling, it was
> convenient to only need to verify, and not really write it all.
>   
Thank you, Jeroen.

It was a pleasure working with both of you (Thank you too, Steve)



    J.L.


Reply via email to