diff options
author | methodus <methodus@web.de> | 2012-12-11 10:06:18 +0100 |
---|---|---|
committer | methodus <methodus@web.de> | 2012-12-11 10:06:18 +0100 |
commit | 7ed916270e9e445b73d463398187b696b36bb91a (patch) | |
tree | 41ed3cbec0e903879830866ebdc71d779ca4208d /plugins/provider/vdrProvider/vdrProvider.cpp | |
parent | ccb5adcecc340db29e1fe2cddd7aef830f79a971 (diff) | |
download | vdr-plugin-upnp-7ed916270e9e445b73d463398187b696b36bb91a.tar.gz vdr-plugin-upnp-7ed916270e9e445b73d463398187b696b36bb91a.tar.bz2 |
Fixed thread cancelation due timeout. Threads should now exit in a clean manner.
Diffstat (limited to 'plugins/provider/vdrProvider/vdrProvider.cpp')
-rw-r--r-- | plugins/provider/vdrProvider/vdrProvider.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/plugins/provider/vdrProvider/vdrProvider.cpp b/plugins/provider/vdrProvider/vdrProvider.cpp index 6b4c1b1..f54f4e7 100644 --- a/plugins/provider/vdrProvider/vdrProvider.cpp +++ b/plugins/provider/vdrProvider/vdrProvider.cpp @@ -53,6 +53,8 @@ private: return uri.substr(6,uri.size()-7); } + cCondWait sleep; + public: VdrProvider() @@ -64,7 +66,8 @@ public: } virtual ~VdrProvider(){ - Cancel(2); + sleep.Signal(); + Cancel(5); } virtual string ProvidesSchema(){ return "vdr"; } @@ -207,7 +210,7 @@ public: lastModified = now; } - sleep(2); + sleep.Wait(2000); } } |