Update of /cvsroot/openvrml/openvrml/src/openvrml-player
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv18261/src/openvrml-player
Modified Files:
Tag: OpenVRML-0_16-BRANCH
player.cpp
Log Message:
Don't bail early if curl_multi_fdset returns -1; we need to call g_source_remove_poll on outstanding file descriptors in this case.
Index: player.cpp
===================================================================
RCS file: /cvsroot/openvrml/openvrml/src/openvrml-player/player.cpp,v
retrieving revision 1.1.2.4
retrieving revision 1.1.2.5
diff -C2 -d -r1.1.2.4 -r1.1.2.5
*** player.cpp 5 Feb 2007 04:41:53 -0000 1.1.2.4
--- player.cpp 6 Feb 2007 04:47:37 -0000 1.1.2.5
***************
*** 375,393 ****
}
! if (curl_source.max_fd < 0) { return; }
!
! //
! // Resize the list of fds to be polled; initialize any new entries.
! //
! const poll_fds_t::size_type prev_size = curl_source.poll_fds->size();
! curl_source.poll_fds->resize(curl_source.max_fd + 1);
! if (curl_source.poll_fds->size() > prev_size) {
! poll_fds_t::iterator pos = curl_source.poll_fds->begin();
! std::advance(pos, prev_size);
! for (gint fd = prev_size; pos != curl_source.poll_fds->end();
! ++pos, ++fd) {
! pos->fd = fd;
! pos->events = 0;
! pos->revents = 0;
}
}
--- 375,395 ----
}
! if (curl_source.max_fd >= 0) {
! //
! // Resize the list of fds to be polled; initialize any new
! // entries.
! //
! const poll_fds_t::size_type prev_size =
! curl_source.poll_fds->size();
! curl_source.poll_fds->resize(curl_source.max_fd + 1);
! if (curl_source.poll_fds->size() > prev_size) {
! poll_fds_t::iterator pos = curl_source.poll_fds->begin();
! std::advance(pos, prev_size);
! for (gint fd = prev_size; pos != curl_source.poll_fds->end();
! ++pos, ++fd) {
! pos->fd = fd;
! pos->events = 0;
! pos->revents = 0;
! }
}
}
|