diff options
author | 2017-03-27 09:18:21 -0700 | |
---|---|---|
committer | 2017-03-27 09:18:21 -0700 | |
commit | a0649dde0ec92624d56f943d3b0fae09bcb65e5b (patch) | |
tree | 8b0885a3e6d7584b79b5a31725932f4c606768a1 /src/core/lib/iomgr/timer_uv.c | |
parent | 3c7e460de68625c926b8e4581ed573e543a16a67 (diff) | |
parent | c4478a103b68100b86f506061cedcb0ce70016ba (diff) |
Merge branch 'master' of https://github.com/grpc/grpc into grpcz_client
Diffstat (limited to 'src/core/lib/iomgr/timer_uv.c')
-rw-r--r-- | src/core/lib/iomgr/timer_uv.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/lib/iomgr/timer_uv.c b/src/core/lib/iomgr/timer_uv.c index f28a14405d..8e8a07578c 100644 --- a/src/core/lib/iomgr/timer_uv.c +++ b/src/core/lib/iomgr/timer_uv.c @@ -78,6 +78,10 @@ void grpc_timer_init(grpc_exec_ctx *exec_ctx, grpc_timer *timer, uv_timer->data = timer; timer->uv_timer = uv_timer; uv_timer_start(uv_timer, run_expired_timer, timeout, 0); + /* We assume that gRPC timers are only used alongside other active gRPC + objects, and that there will therefore always be something else keeping + the uv loop alive whenever there is a timer */ + uv_unref((uv_handle_t *)uv_timer); } void grpc_timer_cancel(grpc_exec_ctx *exec_ctx, grpc_timer *timer) { |