mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
Merge with Subversion repository as of r7137. Incorporated change:
* Fix for packet processing resumption when a remote Bro dies during state synchronization (Robin Sommer).
This commit is contained in:
parent
c690a8b2f3
commit
dc5d3560f7
3 changed files with 22 additions and 3 deletions
|
@ -681,7 +681,7 @@ bool RemoteSerializer::CloseConnection(Peer* peer)
|
|||
if ( peer->suspended_processing )
|
||||
{
|
||||
net_continue_processing();
|
||||
current_peer->suspended_processing = false;
|
||||
peer->suspended_processing = false;
|
||||
}
|
||||
|
||||
if ( peer->state == Peer::CLOSING )
|
||||
|
@ -1606,6 +1606,12 @@ void RemoteSerializer::PeerDisconnected(Peer* peer)
|
|||
{
|
||||
assert(peer);
|
||||
|
||||
if ( peer->suspended_processing )
|
||||
{
|
||||
net_continue_processing();
|
||||
peer->suspended_processing = false;
|
||||
}
|
||||
|
||||
if ( peer->state == Peer::CLOSED || peer->state == Peer::INIT )
|
||||
return;
|
||||
|
||||
|
@ -1736,6 +1742,12 @@ void RemoteSerializer::UnregisterHandlers(Peer* peer)
|
|||
|
||||
void RemoteSerializer::RemovePeer(Peer* peer)
|
||||
{
|
||||
if ( peer->suspended_processing )
|
||||
{
|
||||
net_continue_processing();
|
||||
peer->suspended_processing = false;
|
||||
}
|
||||
|
||||
peers.remove(peer);
|
||||
UnregisterHandlers(peer);
|
||||
|
||||
|
@ -2933,7 +2945,7 @@ void SocketComm::Run()
|
|||
struct timeval small_timeout;
|
||||
small_timeout.tv_sec = 0;
|
||||
small_timeout.tv_usec =
|
||||
io->CanWrite() || io->CanRead() ? 10 : 10000;
|
||||
io->CanWrite() || io->CanRead() ? 1 : 10;
|
||||
|
||||
int a = select(max_fd + 1, &fd_read, &fd_write, &fd_except,
|
||||
&small_timeout);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue