2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-31 06:15:47 +00:00

netlink-socket: Avoid forcing a reply for final message in a transaction.

Signed-off-by: Ben Pfaff <blp@nicira.com>
This commit is contained in:
Ben Pfaff
2012-04-05 12:58:42 -07:00
parent 7393104d1a
commit 407556ac6c

View File

@@ -440,11 +440,6 @@ nl_sock_transact_multiple__(struct nl_sock *sock,
nlmsg->nlmsg_len = request->size;
nlmsg->nlmsg_pid = sock->pid;
if (i == n - 1) {
/* Ensure that we get a reply even if the final request doesn't
* ordinarily call for one. */
nlmsg->nlmsg_flags |= NLM_F_ACK;
}
iovs[i].iov_base = request->data;
iovs[i].iov_len = request->size;
@@ -474,8 +469,12 @@ nl_sock_transact_multiple__(struct nl_sock *sock,
while (n > 0) {
struct ofpbuf *reply;
error = nl_sock_recv__(sock, &reply, true);
if (error) {
error = nl_sock_recv__(sock, &reply, false);
if (error == EAGAIN) {
nl_sock_record_errors__(transactions, n, 0);
*done += n;
return 0;
} else if (error) {
return error;
}