~zaro0508/gearman-plugin/master

Viewing all changes in revision 78.

  • Committer: James E. Blair
  • Date: 2013-08-14 21:50:14 UTC
  • Revision ID: git-v1:2cb540bf51d6cc6ead7201f7dd28deb9359901ae
Use more fine-grained synchronization in GearmanProxy

This undoes some of the previous change.  In particular, calling
something that could affect a NodeAvailabilityMonitor's lock
(eg in canTake or the init methods in createExecutorWorkersOnNode)
can deadlock on trying to obtain the Queue lock while holding the
GearmanProxy lock.

Instead, lock on just the handle lists where necessary, and try
to do serious work outside of that lock.

Change-Id: I4c1ed6c7a4f5586c1034651a649bbbd420eacdd7

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: