message: Cleanup handling of accept failures
diff: @@ -1993,8 +1993,8 @@ namespace eosio {
  auto paddr = socket->remote_endpoint(ec).address().to_v4();
  if (ec) {
  fc_elog(logger,"Error getting remote endpoint: ${m}",("m", ec.message()));
  - return;
  }
  + else {
  for (auto &conn : connections) {
  if(conn->socket->is_open()) {
  if (conn->peer_addr.empty()) {
  @@ -2028,10 +2028,23 @@ namespace eosio {
  }
  socket->close( );
  }
  - start_listen_loop();
  + }
  } else {
  elog( "Error accepting connection: ${m}",( "m", ec.message() ) );
  + // For the listed error codes below, recall start_listen_loop()
  + switch (ec.value()) {
  + case ECONNABORTED:
  + case EMFILE:
  + case ENFILE:
  + case ENOBUFS:
  + case ENOMEM:
  + case EPROTO:
  + break;
  + default:
  + return;
  }
  + }
  + start_listen_loop();
  });
  }
  