From a2c5f9998376a5877aef36e410921908ab8605ba Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Tue, 17 Jan 2006 00:21:01 +0000 Subject: filepush: do not loop anymore on eof, but signal an event --- lib/base/filepush.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'lib/base/filepush.cpp') diff --git a/lib/base/filepush.cpp b/lib/base/filepush.cpp index cb22ea1b..7ab8c0d3 100644 --- a/lib/base/filepush.cpp +++ b/lib/base/filepush.cpp @@ -4,10 +4,11 @@ #include #include -eFilePushThread::eFilePushThread() +eFilePushThread::eFilePushThread(): m_messagepump(eApp, 0) { m_stop = 0; flush(); + CONNECT(m_messagepump.recv_msg, eFilePushThread::recvEvent); } static void signal_handler(int x) @@ -65,12 +66,16 @@ void eFilePushThread::thread() } if (m_buf_end == 0) { + sendEvent(evtEOF); + +#if 0 eDebug("FILEPUSH: end-of-file! (currently unhandled)"); if (!lseek(m_fd_source, 0, SEEK_SET)) { eDebug("(looping)"); continue; } +#endif break; } // printf("FILEPUSH: read %d bytes\n", m_buf_end); @@ -114,3 +119,13 @@ void eFilePushThread::flush() m_buf_start = m_buf_end = 0; } + +void eFilePushThread::sendEvent(int evt) +{ + m_messagepump.send(evt); +} + +void eFilePushThread::recvEvent(const int &evt) +{ + m_event(evt); +} -- cgit v1.2.3