aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/core/iomgr/alarm_test.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/test/core/iomgr/alarm_test.c b/test/core/iomgr/alarm_test.c
index e677ba30dd..0ccec435e6 100644
--- a/test/core/iomgr/alarm_test.c
+++ b/test/core/iomgr/alarm_test.c
@@ -55,6 +55,7 @@ void no_op_cb(void *arg, int success) {}
typedef struct {
gpr_cv cv;
gpr_mu mu;
+ grpc_iomgr_closure *followup_closure;
int counter;
int done_success_ctr;
int done_cancel_ctr;
@@ -81,7 +82,8 @@ static void alarm_cb(void *arg /* alarm_arg */, int success) {
a->success = success;
gpr_cv_signal(&a->cv);
gpr_mu_unlock(&a->mu);
- grpc_iomgr_add_callback(followup_cb, &a->fcb_arg);
+ grpc_iomgr_closure_init(a->followup_closure, followup_cb, &a->fcb_arg);
+ grpc_iomgr_add_callback(a->followup_closure);
}
/* Test grpc_alarm add and cancel. */
@@ -107,6 +109,7 @@ static void test_grpc_alarm(void) {
arg.done = 0;
gpr_mu_init(&arg.mu);
gpr_cv_init(&arg.cv);
+ arg.followup_closure = gpr_malloc(sizeof(grpc_iomgr_closure));
gpr_event_init(&arg.fcb_arg);
grpc_alarm_init(&alarm, GRPC_TIMEOUT_MILLIS_TO_DEADLINE(100), alarm_cb, &arg,
@@ -148,6 +151,7 @@ static void test_grpc_alarm(void) {
}
gpr_cv_destroy(&arg.cv);
gpr_mu_destroy(&arg.mu);
+ gpr_free(arg.followup_closure);
arg2.counter = 0;
arg2.success = SUCCESS_NOT_SET;
@@ -156,6 +160,8 @@ static void test_grpc_alarm(void) {
arg2.done = 0;
gpr_mu_init(&arg2.mu);
gpr_cv_init(&arg2.cv);
+ arg2.followup_closure = gpr_malloc(sizeof(grpc_iomgr_closure));
+
gpr_event_init(&arg2.fcb_arg);
grpc_alarm_init(&alarm_to_cancel, GRPC_TIMEOUT_MILLIS_TO_DEADLINE(100),
@@ -206,6 +212,7 @@ static void test_grpc_alarm(void) {
}
gpr_cv_destroy(&arg2.cv);
gpr_mu_destroy(&arg2.mu);
+ gpr_free(arg2.followup_closure);
grpc_iomgr_shutdown();
}