mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
Update.
* sysdeps/unix/sysv/linux/ifaddrs.c (netlink_open): Call getsockname to get the actual PID value used in the records passed up. (getifaddrs): Don't initialize nh.pid here. 2003-06-02 Ulrich Drepper <drepper@redhat.com>
This commit is contained in:
parent
7aebf8554c
commit
332afd9ecd
@ -1,3 +1,9 @@
|
||||
2003-06-02 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/ifaddrs.c (netlink_open): Call getsockname
|
||||
to get the actual PID value used in the records passed up.
|
||||
(getifaddrs): Don't initialize nh.pid here.
|
||||
|
||||
2003-06-02 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/ifaddrs.c (netlink_receive): Minor
|
||||
|
@ -233,9 +233,17 @@ netlink_open (struct netlink_handle *h)
|
||||
nladdr.nl_family = AF_NETLINK;
|
||||
if (__bind (h->fd, (struct sockaddr *) &nladdr, sizeof (nladdr)) < 0)
|
||||
{
|
||||
close_and_out:
|
||||
netlink_close (h);
|
||||
return -1;
|
||||
}
|
||||
/* Determine the ID the kernel assigned for this netlink connection.
|
||||
It is not necessarily the PID if there is more than one socket
|
||||
open. */
|
||||
socklen_t addr_len = sizeof (nladdr);
|
||||
if (__getsockname (h->fd, (struct sockaddr *) &nladdr, &addr_len) < 0)
|
||||
goto close_and_out;
|
||||
h->pid = nladdr.nl_pid;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -303,8 +311,6 @@ getifaddrs (struct ifaddrs **ifap)
|
||||
return fallback_getifaddrs (ifap);
|
||||
#endif
|
||||
|
||||
nh.pid = getpid ();
|
||||
|
||||
/* Tell the kernel that we wish to get a list of all
|
||||
active interfaces. */
|
||||
if (netlink_sendreq (&nh, RTM_GETLINK) < 0)
|
||||
|
Loading…
Reference in New Issue
Block a user