ipcc: Have a few goes at tidying up after a dead server#434
Merged
chrissie-c merged 1 commit intoClusterLabs:masterfrom Jan 25, 2021
Merged
Conversation
4b43ed8 to
c7d2833
Compare
jfriesse
approved these changes
Jan 22, 2021
|
Looks good to me too. BTW a separate issue for libqb is that usleep() is considered obsolete (no longer in the POSIX standard, which defines nanosleep()). I don't know of any platforms where it's a problem but it might crop up one day. |
This is an attempt to make sure that /dev/shm is cleaned up when a server exits unexpectedly. Normally it's the server's responsibility to tidy up sockets, but if it crashes or is killed with SIGKILL then the client (us) makes a reasonable attempt to tidy up the server sockets we have connected. The extra delay here just gives the server chance to disappear fully. As a client we can get here pretty quickly but shutting down a large server may take a little longer even when SIGKILLed. The 1/100th of a second is an arbitrary delay (of course) but seems to catch most servers in 2 tries or less.
c7d2833 to
088a8af
Compare
Contributor
|
If |
bmwiedemann
pushed a commit
to bmwiedemann/openSUSE
that referenced
this pull request
Oct 11, 2021
https://build.opensuse.org/request/show/924180 by user yan_gao + dimstar_suse - Update to version 2.0.3+20210303.404adbc (v2.0.3): - syslog: Add a message-id parameter for messages (gh#ClusterLabs/libqb#433) - timers: Add some locking (gh#ClusterLabs/libqb#436) - ipcc: Have a few goes at tidying up after a dead server (gh#ClusterLabs/libqb#434) - strlcpy: Check for maxlen underflow (gh#ClusterLabs/libqb#432) - doxygen2man: fix printing of lines starting with '.' (gh#ClusterLabs/libqb#431) - doxygen2man: ignore all-whitespace brief descriptions (gh#ClusterLabs/libqb#430) (forwarded request 924179 from yan_gao)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is an attempt to make sure that /dev/shm is cleaned up when a
server exits unexpectedly. Normally it's the server's responsibility
to tidy up sockets, but if it crashes or is killed with SIGKILL then
the client (us) makes a reasonable attempt to tidy up the server sockets
we have connected. The extra delay here just gives the server chance to
disappear fully. As a client we can get here pretty quickly but shutting
down a large server may take a little longer even when SIGKILLed.
The 1/100th of a second is an arbitrary delay (of course) but seems to
catch most servers in 2 tries or less.
See https://bugzilla.redhat.com/show_bug.cgi?id=1614166 for more info.
And yes, I'm expecting this to be controversial and anyone with better ideas is welcome.