dect
/
libnl
Archived
13
0
Fork 0

Merge branch 'master' of master.kernel.org:/pub/scm/libs/netlink/libnl

This commit is contained in:
Thomas Graf 2011-06-21 11:34:28 +02:00
commit dba0e91a09
2 changed files with 11 additions and 2 deletions

View File

@ -101,14 +101,20 @@
* Creates a netlink socket using the specified protocol, binds the socket * Creates a netlink socket using the specified protocol, binds the socket
* and issues a connection attempt. * and issues a connection attempt.
* *
* @note SOCK_CLOEXEC is set on the socket if available.
*
* @return 0 on success or a negative error code. * @return 0 on success or a negative error code.
*/ */
int nl_connect(struct nl_sock *sk, int protocol) int nl_connect(struct nl_sock *sk, int protocol)
{ {
int err; int err, flags = 0;
socklen_t addrlen; socklen_t addrlen;
sk->s_fd = socket(AF_NETLINK, SOCK_RAW, protocol); #ifdef SOCK_CLOEXEC
flags |= SOCK_CLOEXEC;
#endif
sk->s_fd = socket(AF_NETLINK, SOCK_RAW | flags, protocol);
if (sk->s_fd < 0) { if (sk->s_fd < 0) {
err = -nl_syserr2nlerr(errno); err = -nl_syserr2nlerr(errno);
goto errout; goto errout;

View File

@ -465,6 +465,9 @@ static int build_neigh_msg(struct rtnl_neigh *tmpl, int cmd, int flags,
nhdr.ndm_family = nl_addr_get_family(tmpl->n_dst); nhdr.ndm_family = nl_addr_get_family(tmpl->n_dst);
if (tmpl->ce_mask & NEIGH_ATTR_FLAGS)
nhdr.ndm_flags = tmpl->n_flags;
if (tmpl->ce_mask & NEIGH_ATTR_STATE) if (tmpl->ce_mask & NEIGH_ATTR_STATE)
nhdr.ndm_state = tmpl->n_state; nhdr.ndm_state = tmpl->n_state;