From: Thomas Graf Date: Wed, 14 Sep 2011 09:43:10 +0000 (+0200) Subject: link: Eat ACK followed by RTM_NEWLINK when requesting single link X-Git-Tag: libnl3_2_1~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5151cbc2f6e5ca81cfc66eeb1d4a5c6c4e886108;p=thirdparty%2Flibnl.git link: Eat ACK followed by RTM_NEWLINK when requesting single link When requesting a single link with RTM_GETLINK (no dump) the RTM_NEWLINK carrying the answer will be followed by an ACK we have to wait for. --- diff --git a/lib/route/link.c b/lib/route/link.c index 3e070e5..00beb08 100644 --- a/lib/route/link.c +++ b/lib/route/link.c @@ -996,6 +996,10 @@ int rtnl_link_get_kernel(struct nl_sock *sk, int ifindex, const char *name, /* We have used link_msg_parser(), object is definitely a link */ *result = (struct rtnl_link *) obj; + /* If an object has been returned, we also need to wait for the ACK */ + if (err == 0 && obj) + nl_wait_for_ack(sk); + return 0; }