mopidy/docs
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
..
_static docs: Move images out of the _static dir 2013-12-27 13:44:06 +01:00
api Add mention for HTTP API explorer in relevant places. 2014-07-20 18:35:47 +02:00
clients docs: Fix merge conflict 2014-07-21 10:07:54 +02:00
ext docs: Add Mopidy-Touchscreen 2014-07-30 00:31:59 +02:00
installation docs: Add note Debian package distro support (fixes #820) 2014-08-06 00:02:49 +02:00
modules mpd: Update docs 2014-01-30 23:51:31 +01:00
authors.rst docs: Bump copyright year to 2014 2014-01-01 13:15:51 +01:00
changelog.rst network: disable_recv before telling actor to close connection 2014-08-14 01:58:48 +02:00
codestyle.rst docs: Link to code style from contributions docs 2013-04-13 00:56:08 +02:00
command.rst docs: Fix grammar 2014-08-12 16:45:26 +02:00
conf.py docs: Remove MIXER_TRACK_* attribute workaround 2014-07-08 01:47:42 +02:00
config.rst Merge branch 'develop' into feature/mixers 2014-07-16 22:12:07 +02:00
contributing.rst docs: Add link to coveralls.io 2014-05-25 22:51:47 +02:00
debian.rst docs: Link directly to the right install page 2014-06-27 23:33:47 +02:00
devtools.rst docs: Basic documentation for pbuilder setup. 2014-07-22 00:34:19 +02:00
extensiondev.rst Added section on running a developed extension 2014-07-26 13:27:52 +01:00
glossary.rst Fixed typo 2014-01-02 15:45:18 +00:00
index.rst docs: Add more links into the docs 2014-08-03 23:32:19 +02:00
Makefile Update Sphinx Makefile with new targets 2010-10-31 02:28:56 +01:00
requirements.txt requirements: Move docs requirements to docs/ 2013-12-06 10:28:07 +01:00
running.rst docs: Add page for the Debian package 2014-05-25 22:54:06 +02:00
troubleshooting.rst docs: Fix typos 2014-06-30 00:28:09 +02:00
versioning.rst docs: Add page on versioning 2013-04-13 00:38:58 +02:00