mopidy/tests
Trygve Aaberge 265951bf00 network: disable_recv before telling actor to close connection
As of d62ad96, when the connection can't receive more data from the
client, it tells the actor to stop the connection and calls
disable_recv(). The actor operates in it's own thread and when it stops
the connection, disable_recv is being called again from a different
thread. Since the actor is told to stop the connection before
disable_recv is called, the two calls to disable_recv may happen
simultaneously.

This causes a race condition issue where both threads can reach past the
check that recv_id is not None before either of them set it to None. If
one of them set it to None before the other one tries to use it, an
error is raised.

This commit calls disable_recv before telling the actor to stop the
connection. Since disable_recv is a blocking call, this ensures that
recv_id is being set to None before the actor thread begins to stop the
connection.

Fixes #781
2014-08-14 01:58:48 +02:00
..
audio Merge remote-tracking branch 'adamcik/fix/gh-734-cleanup-audio-buffering' into develop 2014-07-20 12:29:49 +02:00
backend Fix all import order warnings 2014-05-07 20:08:43 +02:00
config config: Only load .conf-files when loading directories 2014-08-11 16:21:34 +02:00
core Use 'mute' instead of 'muted', to avoid changing old APIs 2014-07-12 03:14:19 +02:00
data config: Only load .conf-files when loading directories 2014-08-11 16:21:34 +02:00
http http: Make event emitting testable 2014-07-17 01:14:06 +02:00
local core: Use new mixer API 2014-07-08 01:11:25 +02:00
mpd mpd: Test that "list album foo" responds correctly 2014-08-05 23:52:40 +02:00
utils network: disable_recv before telling actor to close connection 2014-08-14 01:58:48 +02:00
__init__.py tests: Use utf-8 when encoding our test data paths to bytes 2013-06-27 00:25:25 +02:00
__main__.py Remove unused yappi profiler 2012-12-15 23:46:52 +01:00
test_commands.py Fix all import order warnings 2014-05-07 20:08:43 +02:00
test_exceptions.py exc: Add {Backend,Frontend,Mixer}Error exceptions 2014-07-16 10:32:18 +02:00
test_ext.py Fail early if extension doesn't implement setup() 2014-08-03 23:13:14 +02:00
test_help.py version help test fixed 2014-07-26 12:31:53 +02:00
test_mixer.py Use 'mute' instead of 'muted', to avoid changing old APIs 2014-07-12 03:14:19 +02:00
test_models.py Fix all import order warnings 2014-05-07 20:08:43 +02:00
test_version.py Bump version to 0.19.3 2014-08-03 23:34:25 +02:00