Lines Matching refs:ctx
83 static void *sender(struct sender_context *ctx) in sender() argument
88 ready(ctx->ready_out, ctx->wakefd); in sender()
92 for (j = 0; j < ctx->num_fds; j++) { in sender()
96 ret = write(ctx->out_fds[j], data + done, in sender()
111 static void *receiver(struct receiver_context* ctx) in receiver() argument
116 close(ctx->in_fds[1]); in receiver()
119 ready(ctx->ready_out, ctx->wakefd); in receiver()
122 for (i = 0; i < ctx->num_packets; i++) { in receiver()
127 ret = read(ctx->in_fds[0], data + done, DATASIZE - done); in receiver()
138 static pthread_t create_worker(void *ctx, void *(*func)(void *)) in create_worker() argument
152 (*func) (ctx); in create_worker()
170 ret = pthread_create(&childid, &attr, func, ctx); in create_worker()
207 struct receiver_context *ctx = malloc(sizeof(*ctx)); in group() local
209 if (!ctx) in group()
216 ctx->num_packets = num_fds * loops; in group()
217 ctx->in_fds[0] = fds[0]; in group()
218 ctx->in_fds[1] = fds[1]; in group()
219 ctx->ready_out = ready_out; in group()
220 ctx->wakefd = wakefd; in group()
222 pth[i] = create_worker(ctx, (void *)receiver); in group()