facebook/presto — pull request #1105 by dain (2014-03-07 18:48:55+00:00)
Title: Remove potential deadlock with broken connectors

Replace synchronized lock with a custom lock with timeout support

For close and updateSource stage change and then attempt to acquire
lock. If lock is acquired, process change; otherwise lock holder
will process change before releasing lock.

For close, if lock can not be acquired, interrupt lock holder.