rharkanson / pyriscope

A simple Periscope video downloader for Python.
MIT License
102 stars 22 forks source link

ThreadPool starves if replay is deleted during download #11

Closed ghost closed 8 years ago

ghost commented 8 years ago

If a replay is deleted during a running download, all chunks become unavailable. Each Worker will then eventually sys.exit(1) (which only exits the thread) due to an error, starving the ThreadPool. Meanwhile the ThreadPool is blocked on tasks.join(), but since no workers are left to complete the remaining downloads, it stays stuck there forever.