* sysdeps/posix/getcwd.c (__getcwd): Don't stop processing
	directory entries when a lstat call fails.
	Patch by Colin Plumb <colin@nyx.net>.
This commit is contained in:
Ulrich Drepper 1998-10-18 15:35:09 +00:00
parent 67479a700e
commit 74f7e7c0bd
3 changed files with 11 additions and 10 deletions

View file

@ -1,5 +1,9 @@
1998-10-18 Ulrich Drepper <drepper@cygnus.com> 1998-10-18 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/posix/getcwd.c (__getcwd): Don't stop processing
directory entries when a lstat call fails.
Patch by Colin Plumb <colin@nyx.net>.
* resolv/nss_dns/dns-host.c: Add missing errnop parameter to the * resolv/nss_dns/dns-host.c: Add missing errnop parameter to the
NSS functions. NSS functions.
* resolv/nss_dns/dns-network.c: Likewise. * resolv/nss_dns/dns-network.c: Likewise.

View file

@ -1,5 +1,3 @@
* If we have reached the max. # of process, close accept socket. * If we have reached the max. # of process, close accept socket.
! THIS COULD CAUSE THE KERNEL TO HANG ! BE CAREFUL ! ! THIS COULD CAUSE THE KERNEL TO HANG ! BE CAREFUL !
* Implement cache for hosts

View file

@ -333,14 +333,13 @@ __getcwd (buf, size)
name[dotlist + dotsize - dotp] = '/'; name[dotlist + dotsize - dotp] = '/';
strcpy (&name[dotlist + dotsize - dotp + 1], d->d_name); strcpy (&name[dotlist + dotsize - dotp + 1], d->d_name);
#endif #endif
if (__lstat (name, &st) < 0) /* We don't fail here if we cannot stat() a directory entry.
{ This can happen when (network) filesystems fail. If this
int save = errno; entry is in fact the one we are looking for we will find
(void) __closedir (dirstream); out soon as we reach the end of the directory without
__set_errno (save); having found anything. */
goto lose; if (__lstat (name, &st) >= 0
} && st.st_dev == thisdev && st.st_ino == thisino)
if (st.st_dev == thisdev && st.st_ino == thisino)
break; break;
} }
} }