[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Cancel read on socket
- Date: Tue, 27 May 2008 16:41:50 +0300
- From: leonp at plris.com (Leon Pollak)
- Subject: Cancel read on socket
On Sunday, 25 ?May 2008, Joel Sherrill wrote:
> Sergei Organov wrote:
> > Leon Pollak <leonp at plris.com> writes:
> >> On Monday, 26 ?May 2008, Sergei Organov wrote:
> >>> shutdown()
> >> I studied the internet again.
> >> And again I am afraid that shutdown will not help - please, correct me
> >> if I am wrong:
> >> 1. shutdown seems not to cancel currently in progress "read" operation
> >> (which blocked the task now).
> > Well, I'm not sure about UDP sockets, but for TCP sockets it should
> > cancel read operation the same way as if remote end had closed
> > connection, I believe. Though the socket won't be useful for reading
> > after that anyway.
> > Alternate approach to your problem could be to configure receive timeout
> > for the socket, like this:
> > setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, &tv, len);
> Without thinking about compatibility at all, shouldn't it be
> possible to add an RTEMS specific IOCTL which forced
> a read() to return an error like ECANCELED?
This is what I was looking for.
BTW, in M$ there is CacelIo(...) command doing exactly the required.