3 #include "poll_funcs/poll_funcs_tevent.h"
6 int main(int argc
, const char *argv
[])
8 struct poll_funcs
*funcs
;
10 struct unix_msg_ctx
**ctxs
;
11 struct tevent_context
*ev
;
15 unsigned num_ctxs
= 1;
18 fprintf(stderr
, "Usage: %s <sockname> [num_contexts]\n", argv
[0]);
22 num_ctxs
= atoi(argv
[2]);
25 ev
= tevent_context_init(NULL
);
27 perror("tevent_context_init failed");
30 funcs
= poll_funcs_init_tevent(NULL
);
32 fprintf(stderr
, "poll_funcs_init_tevent failed\n");
35 tevent_handle
= poll_funcs_tevent_register(NULL
, funcs
, ev
);
36 if (tevent_handle
== NULL
) {
37 fprintf(stderr
, "poll_funcs_tevent_register failed\n");
41 ctxs
= talloc_array(ev
, struct unix_msg_ctx
*, num_ctxs
);
43 fprintf(stderr
, "talloc failed\n");
47 for (i
=0; i
<num_ctxs
; i
++) {
48 ret
= unix_msg_init(NULL
, funcs
, 256, 1, NULL
, NULL
,
51 fprintf(stderr
, "unix_msg_init failed: %s\n",
58 iov
.iov_len
= sizeof(i
);
60 for (i
=0; i
<num_ctxs
; i
++) {
63 for (j
=0; j
<100000; j
++) {
64 ret
= unix_msg_send(ctxs
[i
], argv
[1], &iov
, 1);
66 fprintf(stderr
, "unix_msg_send failed: %s\n",
74 ret
= tevent_loop_once(ev
);
76 fprintf(stderr
, "tevent_loop_once failed: %s\n",
82 for (i
=0; i
<num_ctxs
; i
++) {
83 unix_msg_free(ctxs
[i
]);