1
0
mirror of https://github.com/spl0k/supysonic.git synced 2024-12-22 17:06:17 +00:00
supysonic/supysonic
Carey Metcalfe 0ac2376e07 Fix issues with hanging transcoding processes
When a connection that is consuming a generated response is closed,
Flask closes the generator making it raise the special `GeneratorExit`
exception when the program tries to yield from it again. Because the
`transcode` function was called (returning a generator) before being
passed into `set_generated`, the exception was being handled in the
wrong order.

By passing the `transcode` function to `set_generated` and letting
`set_transcode` call it to return a generator while generating the
response for the client, the exception properly bubbles up through
`transcode` into `set_generated`. This allows both of them to handle it
properly by stopping the subproceses and not caching the incomplete
response data respectively.
2019-02-03 23:23:00 -05:00
..
api Fix issues with hanging transcoding processes 2019-02-03 23:23:00 -05:00
frontend Small touches on logging 2018-11-11 18:58:46 +01:00
managers Delete track dependents before tracks on folder deletion 2018-11-01 14:02:12 +01:00
schema Removed useless transaction handling from latest migrations 2018-10-20 16:03:46 +02:00
static Add confirmation dialog before deleting 2017-08-04 13:53:41 +02:00
templates Use HTTPS when communicating with Last.fm 2019-01-17 04:48:35 -05:00
__init__.py Unified file headers 2018-03-04 21:49:56 +01:00
cache.py Fix issues with hanging transcoding processes 2019-02-03 23:23:00 -05:00
cli.py Using new pony on_connect decorator 2018-08-11 16:16:34 +02:00
config.py Implement a cache manager for album art and transcodes 2019-01-19 15:37:08 -05:00
covers.py Cover art discovery: handle badly encoded files 2018-05-21 16:37:21 +02:00
db.py Merge branch 'embed_as_metadata' 2018-10-14 15:18:16 -04:00
lastfm.py Use HTTPS when communicating with Last.fm 2019-01-17 04:48:35 -05:00
py23.py Add compatibility shims for Python 2.7 2019-01-19 15:37:09 -05:00
scanner.py Whether or not a track has embeded art is tracked just like any other metadata, to reduce disk r/w and mem usage and a lot of other things. 2018-10-10 12:59:20 -04:00
watcher.py watcher: log to stderr when no logfile is set 2018-11-11 19:29:58 +01:00
web.py Implement a cache manager for album art and transcodes 2019-01-19 15:37:08 -05:00