I was reviewing the code in RTSPClient::openConnectionFromUrl(), and I had a question about the codepath involving setting a timeout.  In particular, this code:<br><br>//Start change for timeout on connect<br><br>      /*<br>
      if (connect(fInputSocketNum, (struct sockaddr*)&amp;remoteName, sizeof remoteName)<br>
      != 0) {<br>      envir().setResultErrMsg(&quot;<div id=":4q" class="ii gt">connect() failed: &quot;);<br>      break;<br>      */<br>      fd_set set;<br>      FD_ZERO(&amp;set);<br>      timeval tvout = {0,0};<br>
      if (timeout &gt; 0) {<br>
          FD_SET((unsigned)fInputSocketNum, &amp;set);<br>          tvout.tv_sec = timeout;<br>          tvout.tv_usec = 0;<br>          makeSocketNonBlocking(fInputSocketNum);<br>      }<br>      if (connect(fInputSocketNum, (struct sockaddr*) &amp;remoteName, sizeof remoteName) != 0) <br>

      {<br>          if (envir().getErrno() != EINPROGRESS &amp;&amp; envir().getErrno() != EWOULDBLOCK) <br>          {<br>              envir().setResultErrMsg(&quot;connect() failed: &quot;);<br>              break;<br>

          }<br>          if (timeout &gt; 0 &amp;&amp; (select(fInputSocketNum + 1, NULL, &amp;set, NULL, &amp;tvout) &lt;= 0)) <br>          {<br>              envir().setResultErrMsg(&quot;select/connect() failed: &quot;);<br>

              break;<br>          }<br>          /*<br>          errno = 0;<br>          if (getsockopt(fd, SOL_SOCKET, SO_ERROR, &amp;err, &amp;len) &lt; 0 || errno != 0 )<br>          {<br>          break;<br>          }<br>

          */<br>          //End change for timeout on connect<br>      }<br><br>...I see that if timeout &gt; 0, then fInputSocketNum is set to a non-blocking socket (i.e.  makeSocketNonBlocking).  Shouldn&#39;t this get set back to a blocking socket once this connect attempt is completed?  <br>
<br>(it may be that this happens somewhere else, but my quick checks through the code didn&#39;t reveal any such code)<br><br>If this is an issue, I have code I can submit that will set the socket back to blocking.<br><br>
Thanks!<br></div><br>