20e4b00a08
/var/run resides on an NFS filesystem (flock() always returns 0 in this case, so we falsely assume that ypbind is dead and bail out). Settle instead for better failure checking when using clnttcp_create() and clnt_call() to interact with ypbind. We still try to flock() /var/yp/binding/$DOMAINNAME.2, but if this doesn't work, we drop into the code that retrieves the binding information from ypbind directly. If that also fails, then we're toast. On NFS filesystems, this means we'll be ignoring the binding file for no reason and always talking to ypbind even though we don't have to, but at least things will work. (I could just replace the flock(/var/run/ypbind.lock) check with an RPC call to ypbind's NULLPROC procedure, but if the flock() of the binding file doesn't pan out we're going to try to talk to ypbind later anyway. *sigh* Is NFS file locking ever going to work?) |
||
---|---|---|
.. | ||
Makefile.inc | ||
xdryp.c | ||
yplib.c |