Re: rpcgen on linux does not generate multithreaded svc code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Linux's RPC code appears to be based on a very old iteration of SunRPC that was put into public domain quite some time ago. The later revs, which are not public domain, included support for (actually the migration to) TLI with protocol independence. Subsequently TLI was stillborn, but whatever.

In any case, as far as I know only Sun's RPC intrinsically supports threads. I have never seen another implementation that does.

You can do your own threading, if nothing else by editing the generated files, but it's not clear that the RPC routines themselves are thread safe - in fact I would guess they are not based on the fact that they usual a lot of global data.

Personally I'd love to see a thread safe RPC for Linux, but it's probably not worth the effort. A better bet would be to maybe use XML RPC if you can (though that doesn't seem to have the same depth of capabilities).

Unfortunately, to get threading, you'll probably either have to add a lot of hacks, or write your own socket code and API getting rid of RPC.

- Matt

ashish borkar wrote:
In linux the rpcgen command does not generate multithreaded code.
When I run the rpcgen command on a .x file with -M option (-M generate MT-safe code) in SUN it generates code whose main() has this line:
int mode = RPC_SVC_MT_AUTO;
But when I run the rpcgen -M command in Linux the code generated is very different and does not have int mode = RPC_SVC_MT_AUTO;
Due to this during stress test(i.e. multiple parallel requests) to the rpc server on Linux the client gets many RPC failed error messages.This does not happen in SUN.
Also when I log the thread id in a log file it shows only a single thread which suggests that the svc code is not multithreaded.
What is the solution for this?
Thanks & Regards

Do you Yahoo!?
*Yahoo! Mail* <*> - More reliable, more storage, less spam


Redhat-devel-list mailing list


Matt Fahrner                                    2 South Park St.
Manager of Networking                           Willis House
Burlington Coat Factory Warehouse               Lebanon, N.H.  03766
TEL: (603) 448-4100 xt 5150                     USA
FAX: (603) 443-6190                             Matt.Fahrner@xxxxxxxx

_______________________________________________ Redhat-devel-list mailing list Redhat-devel-list@xxxxxxxxxx

[Index of Archives]     [Kernel Newbies]     [Red Hat General]     [Fedora]     [Red Hat Install]     [Linux Kernel Development]     [Yosemite News]

  Powered by Linux