[omniORB] RE: No return from tcpConnection.cc::Recv
Preston, Ralph A.
rpreston at mitre.org
Thu Oct 9 10:46:15 BST 2008
> > I've created a simple client/server app to transfer large files and
>am
> > having trouble with it locking up. It will run for a while then
> > abruptly stop. The problem occurs when running in Cygwin/Windows
XP
> > often between 40 and 200 iterations. I've tested various
>combinations
> > of Linux vs. Cygwin and local vs. remote server. The problem
occurs
> > only when the client is running in Cygwin, I've let it run up to
170K
> > iterations in Linux without a problem. (...)
> > (...)
> > The lockup always occurs during the call to ::recv in
> > src/lib/omniORB/orbcore/tcp/tcpConnection::Recv(...). It seems as
if
> > the ::recv blocks and is never unblocked, judging by print
statements
> > inserted before and after the ::recv call.
> >
>
>Since recv is a winsock2 system call I really think this is not a
>problem with the code of omniORB, although of course it could be that
>there is something specific to omniorb that makes it fail in your
case.
>
>Have you tried googleing for recv+winsock2+lockup or something like
>this?
Martin,
Thanks for the suggestions...I'm now 99.999% sure it has nothing to do
with omniORB.
I simplified the test program further by removing the
new-vector/copy-data-into-vector/delete-vector. After removing the
new/copy/delete the test program is now at iteration 34K and still
going (on two different machines.)
(The program was locking up even after I changed the vector<char> to
vector<int>, but the std::copy should have worked in either case.)
Thanks again,
Ralph
More information about the omniORB-list
mailing list