|  | @@ -25,6 +25,7 @@
 | 
	
		
			
				|  |  |  #include <grpcpp/impl/grpc_library.h>
 | 
	
		
			
				|  |  |  #include <grpcpp/support/time.h>
 | 
	
		
			
				|  |  |  #include "src/core/lib/iomgr/exec_ctx.h"
 | 
	
		
			
				|  |  | +#include "src/core/lib/iomgr/executor.h"
 | 
	
		
			
				|  |  |  #include "src/core/lib/iomgr/timer.h"
 | 
	
		
			
				|  |  |  #include "src/core/lib/surface/completion_queue.h"
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -81,9 +82,16 @@ class AlarmImpl : public ::grpc::internal::CompletionQueueTag {
 | 
	
		
			
				|  |  |      Ref();
 | 
	
		
			
				|  |  |      GRPC_CLOSURE_INIT(&on_alarm_,
 | 
	
		
			
				|  |  |                        [](void* arg, grpc_error* error) {
 | 
	
		
			
				|  |  | -                        AlarmImpl* alarm = static_cast<AlarmImpl*>(arg);
 | 
	
		
			
				|  |  | -                        alarm->callback_(error == GRPC_ERROR_NONE);
 | 
	
		
			
				|  |  | -                        alarm->Unref();
 | 
	
		
			
				|  |  | +                        grpc_core::Executor::Run(
 | 
	
		
			
				|  |  | +                            GRPC_CLOSURE_CREATE(
 | 
	
		
			
				|  |  | +                                [](void* arg, grpc_error* error) {
 | 
	
		
			
				|  |  | +                                  AlarmImpl* alarm =
 | 
	
		
			
				|  |  | +                                      static_cast<AlarmImpl*>(arg);
 | 
	
		
			
				|  |  | +                                  alarm->callback_(error == GRPC_ERROR_NONE);
 | 
	
		
			
				|  |  | +                                  alarm->Unref();
 | 
	
		
			
				|  |  | +                                },
 | 
	
		
			
				|  |  | +                                arg, nullptr),
 | 
	
		
			
				|  |  | +                            error);
 | 
	
		
			
				|  |  |                        },
 | 
	
		
			
				|  |  |                        this, grpc_schedule_on_exec_ctx);
 | 
	
		
			
				|  |  |      grpc_timer_init(&timer_, grpc_timespec_to_millis_round_up(deadline),
 |