Pure-Python asynchronous interface to Gearman
Go to file
James E. Blair b24b4d2f6e Add a send lock to the base Connection class
The sendRaw method (and therefore sendPacket) was originally
thread safe by virtue of consisting of a single socket.send()
call, but when we added SSL, we added a loop within the method
to handle the increased likelihood that not all data would be
sent in one call.  Of course, the method should have been written
this way to start with.

However, this means that we can end up with partial packets being
sent before a context switch to another thread which may also
want to send a packet.  To handle that case, place the entire
method in a lock.

Note, this doesn't affect server connections as they use a
non-blocking connection which has a send queue, so only one thread
ever actuall transmits.

Change-Id: I3bda6fda5f762d18f28b56a43b7dc28f37dbc427
2017-09-30 09:18:27 -07:00
doc/source Merge "Generate a geard.8 manpage for Debian packaging" 2014-10-12 17:09:51 +00:00
gear Add a send lock to the base Connection class 2017-09-30 09:18:27 -07:00
.gitignore Add pbr-based setup. 2013-04-08 12:31:53 -04:00
.gitreview Added .gitreview 2013-04-05 18:53:07 +00:00
.testr.conf Support python3. 2013-06-05 15:07:36 -07:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 11:46:08 -08:00
LICENSE Initial commit. 2013-04-05 12:58:12 -07:00
MANIFEST.in Add pbr-based setup. 2013-04-08 12:31:53 -04:00
README.rst Add pbr-based setup. 2013-04-08 12:31:53 -04:00
bindep.txt Move other-requirements.txt to bindep.txt 2016-08-12 19:29:48 +02:00
requirements.txt Uncap pbr dependency 2017-03-01 18:32:58 +00:00
setup.cfg Remove vestigal hook entry from setup.cfg 2016-06-02 10:03:35 +03:00
setup.py Solve hacking/pbr requirements conflict 2014-02-11 21:20:38 +00:00
test-requirements.txt Update hacking dependency 2017-03-01 13:31:56 -05:00
tox.ini Merge "Ignore E129" 2016-11-08 23:00:38 +00:00

README.rst

python-gear

A pure-Python asynchronous library to interface with Gearman.