Building sunrpc from glibc source
Ian Kent
ikent@redhat.com
Fri Aug 6 12:07:12 GMT 2021
On 6/8/21 7:12 am, Binello, Severino via Libc-alpha wrote:
> Hello
>
> As of RedHat 8, the sunrpc is no longer included with glibc shared object library.
> Unfortunately, our communications software would require extensive redesign in order to use tirpc.
For example?
Can you describe the sort of challenges you have doing this please.
> As such, we are looking into an alternative approach where we just build the sunrpc portion from the glibc source tar file.
> However, running into difficulties separating it out.
> Can you recommend a method for just building the sunrpc code ?
It's worth understanding what might be needed in order to use libtirpc
first.
>
> Thanks Much
> -Sev
>
> ps: Below is the reason why our code is incompatible with the tirpc design
> with old glibc every RPC server runs in its own thread,
> with tirpc library there can be only one RPC server per program.
> See:
> from svc.c of tirpc library:
>
> static struct svc_callout /* removed declaration */ *svc_head;
>
> from svc.c of glibc-2.25:
>
> #ifdef _RPC_THREAD_SAFE_
> #define svc_head RPC_THREAD_VARIABLE(svc_head_s)
> #else
> static struct svc_callout *svc_head;
> #endif
>
> As you can see, if RPC_THREAD_SAFE_ is defined,
> svc_head is per thread variable.
I think I have some quick and nasty multi-thread libtirpc svc code
kicking around somewhere (if I can find it now). It might be worth
cleaning that up and maybe enhancing it a little, or maybe it's broken
I don't know, but I'd recommend looking at that first, if there's not
to many other problems to deal with.
If that works out we could take this discussion to the libtirpc list.
Ian
More information about the Libc-alpha
mailing list