This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
TCP close(...) action
- From: Matt Jerdonek <maj1224 at yahoo dot com>
- To: Discussion eCos <ecos-discuss at sources dot redhat dot com>
- Date: Sat, 18 Oct 2003 11:24:40 -0700 (PDT)
- Subject: [ECOS] TCP close(...) action
Hi Folks,
I have a simple program with two threads that send /
recv from a single TCP socket. One thread blocks on a
recv call while the other thread sends data on the
same socket.
I put a close call in the send thread. The expected
behavior was for the recv thread to wake (with 0 bytes
of data) and a FIN to be sent on the ethernet. The
actual behavior was that the recv thread never woke
and the FIN was not sent. (Is this intended or a
bug?). I found the soclose function would not be
invoked because the recv was still using the file
handle. Once the recv released the file handle, the
FIN flowed on the ethernet.
I worked around this issue by calling
cyg_thread_release from my application, which woke up
the recv thread. But I wonder if there is better
solution? Could (or should) the close call be made to
wake up blocked threads? If so, any suggestions?
Thanks,
-- Matt
__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss