diff options
| author | Alexander Barton <alex@barton.de> | 2012-06-09 01:03:48 +0200 |
|---|---|---|
| committer | Alexander Barton <alex@barton.de> | 2012-06-09 01:03:48 +0200 |
| commit | 684e50f0a4d827965b61c4b9feeda403ec3c3b87 (patch) | |
| tree | 4285dd2208ab453a5b25c08880f67d93b6c8029a /doc/HowToRelease.txt | |
| parent | 4a90959cb563e7c6ca57d32779074b448982c94f (diff) | |
| download | ngircd-684e50f0a4d827965b61c4b9feeda403ec3c3b87.tar.gz ngircd-684e50f0a4d827965b61c4b9feeda403ec3c3b87.zip | |
Correctly handle asynchronously re-established server links
Don't try to establish an outgoing server link after DNS lookup when this
server re-connected on its own in the meantime.
In addition, log a warning message if we try to update the connection
index of an already connected server structure -- and ignore it.
Up to now, both behaviour could lead to a race when the remote server
connects to this daemon while it still prepares the outgoing connection:
- The local server prepares the new outgoing connection ...
- in the meantime the remote server becomes connected and registered.
- Now the new outgoing connection overwrites the (correct) socket handle,
- then the 2nd connection becomes disconnected: "already registered",
- and the 1st connection becomes unhandled ("gets lost") because the
configuration structure is reset because of the wrong socket handle.
This patch hopefully fixes all these problems.
Diffstat (limited to 'doc/HowToRelease.txt')
0 files changed, 0 insertions, 0 deletions