--On 28. Mai 2015 11:52:05 -0400 Arran Cudbard-Bell <a.cudbardb@freeradius.org> wrote:
That's a bit of a different issue. If the server isn't running, then you should be able to push updates. Please send a patch.
For that particular problem I have come up with this, which seems to work:
I thought about that when I was writing the script. The issue is you don't know when the server has come up fully, so you may run into race conditions.
At the time, I think there was still the issue where the child process wasn't signalling the parent that an error had occurred, so even if the child exited with an error, the parent would exit with 0.
In later versions of v2 and v3 the parent waits until the child process signals that initialisation has completed successfully, so the parent should exit with a code that signals whether the server as a whole came up correctly.
The proper way to achieve what you're trying to do, is to ensure that the init script passes back the exit code of the parent process, and use that to determine if the server has come up.
When you check the status of the process using the init script, you're just checking whether the process still exists immediately after its created. There's no guarantee it'll still exist five seconds after its been created. Module initialization delays opening sockets, so whilst your patched script may work for you, it wouldn't work well for an instance of the server where several hundred connections are opened to a database, even in the same scenario, with the conflicting listen sections.
Actually I think you misunderstood what I did. I'm not trying to start the server. In fact the user that's running the git hook isn't privileged to do so. What my patch does is just to check if the server is running. If it is, the hook tries the "radmin -e hup", just as it always did before my patch. If the server isn't running, the push is tagged as "stable" based on the config check. -- .:.Sebastian Hagedorn - Weyertal 121 (Gebäude 133), Zimmer 2.02.:. .:.Regionales Rechenzentrum (RRZK).:. .:.Universität zu Köln / Cologne University - ✆ +49-221-470-89578.:.