return;
}
- vlc_object_lock( p_sd );
-
/* read SAP packets */
while( vlc_object_alive( p_sd ) )
{
/* Make sure we track vlc_object_signal() */
ufd[n].fd = vlc_object_waitpipe( p_sd );
- ufd[n].events = POLLIN | POLLHUP;
+ ufd[n].events = POLLIN;
ufd[n].revents = 0;
- if( ufd[n].fd == -1 )
- {
- /* On windows, fd will be -1, as we can't select on a pipe()-ed
- * fildes. Because we have no other solution to track that
- * object is killed, we make sure the timeout won't be to long. */
- if( timeout > 1000 || timeout == -1 )
- timeout = 1000;
- }
-
- vlc_object_unlock( p_sd );
-
if (poll (ufd, n+1, timeout) > 0)
{
for (unsigned i = 0; i < n; i++)
timeout = -1; /* We can safely poll indefinitly. */
else if( timeout < 200 )
timeout = 200; /* Don't wakeup too fast. */
-
- vlc_object_lock( p_sd );
}
- vlc_object_unlock( p_sd );
}
/**********************************************************************