[Live-devel] openRTSP exit() in BasicTaskScheduler::SingleStep() due to socket error 10038(WSAENOTSOCK)

Brain Lai brainlai at gmail.com
Wed Apr 23 08:06:38 PDT 2008


Dear Sir:

I found a workaround to solve this problem:
Just reset the readSet before select():

void BasicTaskScheduler::SingleStep(unsigned maxDelayTime) {
.....
  {
        HandlerIterator iter(*fReadHandlers);
        HandlerDescriptor* handler;
        FD_ZERO(&readSet);
        while ((handler = iter.next()) != NULL) {
            FD_SET((unsigned)handler->socketNum, &readSet);
        }
   }
  int selectResult = select(fMaxNumSockets, &readSet, NULL, NULL,
&tv_timeToDelay);
...
}

It is strange since each fd in readSet can be selected individually and the
fds seem the same as in fReadSet.
So I force readSet to be reset for each socket number in handlers and it
works finally.

BR.
Brain Lai
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.live555.com/pipermail/live-devel/attachments/20080423/1cc4fc85/attachment.html 


More information about the live-devel mailing list