{
eDebug("sending PVR commit");
- struct pollfd pfd[1] = {m_fd_dest, POLLHUP};
- poll(pfd, 1, 10000);
+ struct pollfd pfd;
+ pfd.fd = m_fd_dest;
+ pfd.events = POLLIN;
+ poll(&pfd, 1, 10000);
sleep(5); /* HACK to allow ES buffer to drain */
already_empty = 1;
// if (::ioctl(m_fd_dest, PVR_COMMIT) < 0 && errno == EINTR)
m_stop = 1;
- // fixmee.. here we need a better solution to ensure
- // that the thread context take notice of the signal
- // even when no syscall is in progress
- eDebug("if enigma hangs here, the filepush thread is non-responsive. FIX THAT DAMN THREAD.");
+ eDebug("stopping thread."); /* just do it ONCE. it won't help to do this more than once. */
sendSignal(SIGUSR1);
kill(0);
}