os: Provide wl_os_socketpair_cloexec wrapper for systems without SOCK_CLOEXEC

Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Signed-off-by: Weijia Wang <contact@weijia.wang>
This commit is contained in:
Weijia Wang 2022-07-28 01:37:50 +02:00 committed by Jeremy Huddleston Sequoia
parent d8e90f4a16
commit 46c205d08b
6 changed files with 50 additions and 12 deletions

View file

@ -34,6 +34,7 @@
#include <sys/types.h>
#include <sys/stat.h>
#include "wayland-os.h"
#include "wayland-private.h"
#include "wayland-server.h"
#include "test-runner.h"
@ -97,7 +98,7 @@ TEST(client_destroy_listener)
bool user_data_destroyed = false;
int s[2];
assert(socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0, s) == 0);
assert(wl_os_socketpair_cloexec(AF_UNIX, SOCK_STREAM, 0, s) == 0);
display = wl_display_create();
assert(display);
client = wl_client_create(display, s[0]);
@ -184,7 +185,7 @@ TEST(client_destroy_removes_link)
struct client_destroy_listener destroy_listener;
int s[2];
assert(socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0, s) == 0);
assert(wl_os_socketpair_cloexec(AF_UNIX, SOCK_STREAM, 0, s) == 0);
display = wl_display_create();
assert(display);
client = wl_client_create(display, s[0]);