Lines Matching refs:ctx
81 static void *sender(struct sender_context *ctx) in sender() argument
86 ready(ctx->ready_out, ctx->wakefd); in sender()
91 for (j = 0; j < ctx->num_fds; j++) { in sender()
95 ret = write(ctx->out_fds[j], data + done, in sender()
110 static void *receiver(struct receiver_context* ctx) in receiver() argument
115 close(ctx->in_fds[1]); in receiver()
118 ready(ctx->ready_out, ctx->wakefd); in receiver()
121 for (i = 0; i < ctx->num_packets; i++) { in receiver()
126 ret = read(ctx->in_fds[0], data + done, DATASIZE - done); in receiver()
137 static pthread_t create_worker(void *ctx, void *(*func)(void *)) in create_worker() argument
151 (*func) (ctx); in create_worker()
169 ret = pthread_create(&childid, &attr, func, ctx); in create_worker()
206 struct receiver_context *ctx = malloc(sizeof(*ctx)); in group() local
208 if (!ctx) in group()
215 ctx->num_packets = num_fds * nr_loops; in group()
216 ctx->in_fds[0] = fds[0]; in group()
217 ctx->in_fds[1] = fds[1]; in group()
218 ctx->ready_out = ready_out; in group()
219 ctx->wakefd = wakefd; in group()
221 pth[i] = create_worker(ctx, (void *)receiver); in group()