Lines Matching refs:ctx
107 CondContext &ctx = *static_cast<CondContext*>(p);
109 EXPECT_EQ(pthread_mutex_lock(&ctx.m), 0);
110 EXPECT_EQ(ctx.data, 0);
111 ctx.data = 1;
112 EXPECT_EQ(pthread_cond_signal(&ctx.c), 0);
113 EXPECT_EQ(pthread_mutex_unlock(&ctx.m), 0);
115 EXPECT_EQ(pthread_mutex_lock(&ctx.m), 0);
116 while (ctx.data != 2)
117 EXPECT_EQ(pthread_cond_wait(&ctx.c, &ctx.m), 0);
118 EXPECT_EQ(pthread_mutex_unlock(&ctx.m), 0);
120 EXPECT_EQ(pthread_mutex_lock(&ctx.m), 0);
121 ctx.data = 3;
122 EXPECT_EQ(pthread_cond_broadcast(&ctx.c), 0);
123 EXPECT_EQ(pthread_mutex_unlock(&ctx.m), 0);
129 CondContext ctx;
130 EXPECT_EQ(pthread_mutex_init(&ctx.m, 0), 0);
131 EXPECT_EQ(pthread_cond_init(&ctx.c, 0), 0);
132 ctx.data = 0;
134 EXPECT_EQ(pthread_create(&th, 0, cond_thread, &ctx), 0);
136 EXPECT_EQ(pthread_mutex_lock(&ctx.m), 0);
137 while (ctx.data != 1)
138 EXPECT_EQ(pthread_cond_wait(&ctx.c, &ctx.m), 0);
139 ctx.data = 2;
140 EXPECT_EQ(pthread_mutex_unlock(&ctx.m), 0);
141 EXPECT_EQ(pthread_cond_broadcast(&ctx.c), 0);
143 EXPECT_EQ(pthread_mutex_lock(&ctx.m), 0);
144 while (ctx.data != 3)
145 EXPECT_EQ(pthread_cond_wait(&ctx.c, &ctx.m), 0);
146 EXPECT_EQ(pthread_mutex_unlock(&ctx.m), 0);
149 EXPECT_EQ(pthread_cond_destroy(&ctx.c), 0);
150 EXPECT_EQ(pthread_mutex_destroy(&ctx.m), 0);