diff options
author | Craig Tiller <ctiller@google.com> | 2015-05-12 16:46:26 -0700 |
---|---|---|
committer | Craig Tiller <ctiller@google.com> | 2015-05-12 16:46:26 -0700 |
commit | 2be8de01ef099ec6a35109fb3a3cf465e872d3bc (patch) | |
tree | 72e8c0139b46a5b1e5b3f175df3a938490fdcccd /src/core/iomgr/pollset_posix.c | |
parent | 5c826d4c3177fe139be3a7a4c0347db8f2c57a4a (diff) |
Add strategic unlock points
To allow other threads to progress
Diffstat (limited to 'src/core/iomgr/pollset_posix.c')
-rw-r--r-- | src/core/iomgr/pollset_posix.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/iomgr/pollset_posix.c b/src/core/iomgr/pollset_posix.c index 6f89a7a804..8ffc5e877e 100644 --- a/src/core/iomgr/pollset_posix.c +++ b/src/core/iomgr/pollset_posix.c @@ -174,6 +174,8 @@ static void empty_pollset_del_fd(grpc_pollset *pollset, grpc_fd *fd) {} static int empty_pollset_maybe_work(grpc_pollset *pollset, gpr_timespec deadline, gpr_timespec now, int allow_synchronous_callback) { + gpr_mu_unlock(&pollset->mu); + gpr_mu_lock(&pollset->mu); return 0; } @@ -327,6 +329,8 @@ static int unary_poll_pollset_maybe_work(grpc_pollset *pollset, } if (pollset->in_flight_cbs) { /* Give do_promote priority so we don't starve it out */ + gpr_mu_unlock(&pollset->mu); + gpr_mu_lock(&pollset->mu); return 0; } fd = pollset->data.ptr; |