diff options
author | schmirl <schmirl> | 2007-04-02 10:32:34 +0000 |
---|---|---|
committer | schmirl <schmirl> | 2007-04-02 10:32:34 +0000 |
commit | 525574f9b01275aaff3e1c923cc91404365d501e (patch) | |
tree | 0533e2aaecdd3e7a1fe26176d12895f9bd054bc0 /server/streamer.h | |
parent | cd7d4e3588af2cc36c8366fc8d65d0627a372c32 (diff) | |
download | vdr-plugin-streamdev-525574f9b01275aaff3e1c923cc91404365d501e.tar.gz vdr-plugin-streamdev-525574f9b01275aaff3e1c923cc91404365d501e.tar.bz2 |
Close connection when client is gone. Fixes high CPU load problem (#201)
Modified Files:
server/connection.h server/connectionHTTP.h
server/connectionVTP.h server/server.c server/streamer.c
server/streamer.h tools/select.c tools/select.h tools/source.c
Diffstat (limited to 'server/streamer.h')
-rw-r--r-- | server/streamer.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/server/streamer.h b/server/streamer.h index c27677c..e557d55 100644 --- a/server/streamer.h +++ b/server/streamer.h @@ -1,5 +1,5 @@ /* - * $Id: streamer.h,v 1.7 2005/03/12 12:54:19 lordjaxom Exp $ + * $Id: streamer.h,v 1.8 2007/04/02 10:32:34 schmirl Exp $ */ #ifndef VDR_STREAMDEV_STREAMER_H @@ -29,6 +29,8 @@ protected: public: cStreamdevWriter(cTBSocket *Socket, cStreamdevStreamer *Streamer); virtual ~cStreamdevWriter(); + + bool IsActive(void) const { return m_Active; } }; // --- cStreamdevStreamer ----------------------------------------------------- @@ -52,6 +54,7 @@ public: virtual void Start(cTBSocket *Socket); virtual void Stop(void); + bool Abort(void) const; void Activate(bool On); int Receive(uchar *Data, int Length) { return m_RingBuffer->Put(Data, Length); } @@ -65,5 +68,10 @@ public: virtual void Attach(void) {} }; +inline bool cStreamdevStreamer::Abort(void) const +{ + return m_Active && !m_Writer->IsActive(); +} + #endif // VDR_STREAMDEV_STREAMER_H |