| 372 | } |
| 373 | |
| 374 | static int test(struct io_uring *ring, struct accept_test_args args) |
| 375 | { |
| 376 | struct sockaddr_in addr; |
| 377 | int ret = 0; |
| 378 | int loop; |
| 379 | int32_t recv_s0 = start_accept_listen(&addr, 0, |
| 380 | args.nonblock ? SOCK_NONBLOCK : 0); |
| 381 | if (args.queue_accept_before_connect) |
| 382 | queue_accept_conn(ring, recv_s0, args); |
| 383 | for (loop = 0; loop < 1 + args.extra_loops; loop++) { |
| 384 | ret = test_loop(ring, args, recv_s0, &addr); |
| 385 | if (ret) |
| 386 | break; |
| 387 | } |
| 388 | |
| 389 | close(recv_s0); |
| 390 | return ret; |
| 391 | } |
| 392 | |
| 393 | static void sig_alrm(int sig) |
| 394 | { |