Update.
* nis/ypclnt.c (do_ypcall): Add one missing unlock. Simplify the code a bit.
This commit is contained in:
parent
43ca813d87
commit
9435d38cb1
@ -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.
|
||||
|
||||
|
16
nis/ypclnt.c
16
nis/ypclnt.c
@ -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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user