t/socket-rw-eagain: Don't brute force the port number

Don't brute force the port number, use `t_bind_ephemeral_port()`,
much simpler and reliable for choosing a port number that is not
in use.

Cc: Dylan Yudaken <dylany@fb.com>
Cc: Facebook Kernel Team <kernel-team@fb.com>
Cc: Pavel Begunkov <asml.silence@gmail.com>
Reviewed-by: Alviro Iskandar Setiawan <alviro.iskandar@gnuweeb.org>
Tested-by: Alviro Iskandar Setiawan <alviro.iskandar@gnuweeb.org>
Signed-off-by: Ammar Faizi <ammarfaizi2@gnuweeb.org>
Link: https://lore.kernel.org/r/20220902071153.3168814-5-ammar.faizi@intel.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Ammar Faizi
2022-09-02 14:14:57 +07:00
committed by Jens Axboe
parent e0f0f04de4
commit 156ef697a9
+2 -12
View File
@@ -18,6 +18,7 @@
#include <arpa/inet.h>
#include "liburing.h"
#include "helpers.h"
int main(int argc, char *argv[])
{
@@ -41,18 +42,7 @@ int main(int argc, char *argv[])
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = inet_addr("127.0.0.1");
do {
addr.sin_port = htons((rand() % 61440) + 4096);
ret = bind(recv_s0, (struct sockaddr*)&addr, sizeof(addr));
if (!ret)
break;
if (errno != EADDRINUSE) {
perror("bind");
exit(1);
}
} while (1);
assert(!t_bind_ephemeral_port(recv_s0, &addr));
ret = listen(recv_s0, 128);
assert(ret != -1);