in libiapp/comm.c there is function comm_fdopen6()
in corresponding lines we are checking for custom outgoing address as i
understand
} else if (! sqinet_is_noaddr(&F->local_address)) {
if (commBind(new_socket, &F->local_address) != COMM_OK) {
comm_close(new_socket);
return -1;
}
But in fact local_address, if no ACL is matched - set to INADDR_ANY, in
getOutgoingAddr -> aclMapAddr() !
As result unnecessary bind is done and it is causing issues on very heavy load
servers under Linux (no idea why).
Proposed fix attached. Probably it should be more proper fix, especially for
ipv6.
Original issue reported on code.google.com by nuclear...@gmail.com on 6 Apr 2011 at 3:03
Original issue reported on code.google.com by
nuclear...@gmail.com
on 6 Apr 2011 at 3:03Attachments: