X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FSocket%2FProtocols%2FDVB%2FDVBFrontendHandle.cc;h=8a95f1de665659c9159922a4f924da1d0b3ed04f;hb=0e87ffe1cd4de41a27a29c427d7538789e4e3a43;hp=c9aaa391b59ee310d51711dc8080608a1529a103;hpb=9cb871b939efe93e35dd96808d25089399acfc46;p=senf.git diff --git a/senf/Socket/Protocols/DVB/DVBFrontendHandle.cc b/senf/Socket/Protocols/DVB/DVBFrontendHandle.cc index c9aaa39..8a95f1d 100644 --- a/senf/Socket/Protocols/DVB/DVBFrontendHandle.cc +++ b/senf/Socket/Protocols/DVB/DVBFrontendHandle.cc @@ -36,9 +36,9 @@ //#include "DVBFrontendHandle.mpp" #define prefix_ -///////////////////////////////cc.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::DVBFrontendHandle using namespace std; @@ -200,7 +200,7 @@ prefix_ dvb_frontend_event senf::DVBFrontendSocketProtocol::getEvent() const{ struct dvb_frontend_event ev ; ::memset(&ev, 0, sizeof(struct dvb_frontend_event)); - +std::cerr<<"DVBFrontendSocketProtocol::getEvent\n"; if (::ioctl(fd(), FE_GET_EVENT, &ev)) { switch(errno) { case EBADF: @@ -209,6 +209,9 @@ prefix_ dvb_frontend_event senf::DVBFrontendSocketProtocol::getEvent() const{ case EWOULDBLOCK: SENF_THROW_SYSTEM_EXCEPTION( "No event pending and device is in nonblocking mode." ); break; + case EINTR: + // TODO: ignore EINTR. which might be caused by watchdog signals. This is possibly not the solution, but should work + break; default: SENF_THROW_SYSTEM_EXCEPTION("Errno: ") << errno; } @@ -263,7 +266,7 @@ prefix_ fe_status_t senf::DVBFrontendSocketProtocol::status() } -///////////////////////////////cc.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #undef prefix_ //#include "DVBFrontendHandle.mpp"