* nis/ypclnt.c (do_ypcall): Add one missing unlock.  Simplify the
	code a bit.
This commit is contained in:
Ulrich Drepper 2004-09-25 05:55:20 +00:00
parent 43ca813d87
commit 9435d38cb1
2 changed files with 10 additions and 9 deletions

View File

@ -1,5 +1,8 @@
2004-09-24 Ulrich Drepper <drepper@redhat.com>
* nis/ypclnt.c (do_ypcall): Add one missing unlock. Simplify the
code a bit.
* misc/daemon.c (daemon): Define errno in case /dev/null is not
the correct device.

View File

@ -304,16 +304,10 @@ do_ypcall (const char *domain, u_long prog, xdrproc_t xargs,
status = YPERR_YPERR;
__libc_lock_lock (ypbindlist_lock);
if (__ypbindlist != NULL)
ydb = __ypbindlist;
while (ydb != NULL)
{
ydb = __ypbindlist;
while (ydb != NULL)
{
if (strcmp (domain, ydb->dom_domain) == 0)
break;
ydb = ydb->dom_pnext;
}
if (ydb != NULL)
if (strcmp (domain, ydb->dom_domain) == 0)
{
if (__yp_bind (domain, &ydb) == 0)
{
@ -322,6 +316,7 @@ do_ypcall (const char *domain, u_long prog, xdrproc_t xargs,
resp, &ydb, 0);
if (status == YPERR_SUCCESS)
{
__libc_lock_unlock (ypbindlist_lock);
__set_errno (saved_errno);
return status;
}
@ -329,7 +324,10 @@ do_ypcall (const char *domain, u_long prog, xdrproc_t xargs,
/* We use ypbindlist, and the old cached data is
invalid. unbind now and create a new binding */
yp_unbind_locked (domain);
break;
}
ydb = ydb->dom_pnext;
}
__libc_lock_unlock (ypbindlist_lock);