Re: rpcgen on linux does not generate multithreaded svc code

Matt Fahrner <[email protected]> Fri, 19 Mar 2004 11:28:57 -0500
Newsgroups gmane.linux.redhat.devel
Organization Burlington Coat Factory Warehouse
Message-ID <[email protected]>
Unfortunately what I sent is about as far as I know. It wasn't a huge 
deal to me that they didn't have threading because I still had the 
option to use Solaris, so I didn't dive into it that much.

I think this may actually be a GLIBC question, so you might want to 
hit up those people. Then again since it may use "-lrpc" then it might 
be RedHat.

It also might be worth hitting Sun up, who's getting more into the 
Linux world.

I would be interested if you hear anything new though.

Sorry and thanks,

			- Matt

ashish borkar wrote:
> Hi Matt,
>       Thanks for the reply.
>   But when will the linux RPC code be updated ?? I wander how enterprise 
> applications using RPC currently run without threading. Do Linux guys 
> have any plans to Incorporate the latest TLI ?  Is there any other place 
> (I mean among the linux internal developers or the guys who have 
> implemented SUN RPC on LINUX) where I can raise this issue?
>      Do you have any idea how to change the svc code to support 
> threading or where can I get help to do so?
> Thanks & Regards
> Ashish
> 
> */Matt Fahrner <[email protected]>/* wrote:
> 
>     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:
>      > Hello,
>      > 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
>      > Ashish
>      >
>      >
>      > Do you Yahoo!?
>      > *Yahoo! Mail*
>      > - More reliable, more storage, less spam
>      >
>      >
>      >
>     ------------------------------------------------------------------------
>      >
>      > _______________________________________________
>      > Redhat-devel-list mailing list
>      > [email protected]
>      > https://www.redhat.com/mailman/listinfo/redhat-devel-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 [email protected]
>     ---------------------------------------------------------------------
> 
> 
>     _______________________________________________
>     Redhat-devel-list mailing list
>     [email protected]
>     https://www.redhat.com/mailman/listinfo/redhat-devel-list
> 
> Do you Yahoo!?
> *Yahoo! Mail* <http://us.rd.yahoo.com/mailtag_us/*http://mail.yahoo.com> 
> - More reliable, more storage, less spam
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Redhat-devel-list mailing list
> [email protected]
> https://www.redhat.com/mailman/listinfo/redhat-devel-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                             [email protected]
---------------------------------------------------------------------