The recent thread sunrpc change breaks statd

H . J . Lu hjl@lucon.org
Sun May 6 20:35:00 GMT 2001


The recent sunrpc change breaks statd which is the part of nfs-utils.
statd is a special rpc daemon. It has its own vesion of svc_run and
uses svc_fdset. The problem is in sunrpc/rpc_thread.c:

fd_set *
__rpc_thread_svc_fdset (void)
{
        struct rpc_thread_variables *tvp;

        tvp = __rpc_thread_variables ();
        if (tvp == &rpc_default)
                return &svc_fdset;
        return &tvp->svc_fdset_s;
}

in statd. But __rpc_thread_variables () doesn't return &rpc_default.
As the result, __rpc_thread_svc_fdset () doesn't return &svc_fdset
for this special single thread rpc daemon.

The code in sunrpc/rpc_thread.c doesn't look right to me, at least
for non-threaded applications. I will try to come up with a patch
next week.


H.J.



More information about the Libc-alpha mailing list