aboutsummaryrefslogtreecommitdiff
path: root/backend/x11
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2020-12-15 20:52:53 +0100
committerSimon Ser <contact@emersion.fr>2020-12-15 20:52:53 +0100
commit87bd718de54ced41544e88200418bc091a1fce50 (patch)
tree4b2b1427f5e3050070e2b88a75f10868c9bf58f9 /backend/x11
parent1ca4d6b0296ad23a59ad30fbc9063fa93b94b5fe (diff)
backend: use fcntl(F_DUPFD_CLOEXEC) instead of dup
This makes sure the CLOEXEC flag is set on the dup'ed FD.
Diffstat (limited to 'backend/x11')
-rw-r--r--backend/x11/backend.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/backend/x11/backend.c b/backend/x11/backend.c
index 9482f86d..48f1aaee 100644
--- a/backend/x11/backend.c
+++ b/backend/x11/backend.c
@@ -1,6 +1,6 @@
-#define _POSIX_C_SOURCE 200112L
-
+#define _POSIX_C_SOURCE 200809L
#include <assert.h>
+#include <fcntl.h>
#include <limits.h>
#include <stdbool.h>
#include <stdio.h>
@@ -490,9 +490,9 @@ struct wlr_backend *wlr_x11_backend_create(struct wl_display *display,
return false;
}
- drm_fd = dup(drm_fd);
- if (fd < 0) {
- wlr_log_errno(WLR_ERROR, "dup failed");
+ drm_fd = fcntl(drm_fd, F_DUPFD_CLOEXEC, 0);
+ if (drm_fd < 0) {
+ wlr_log_errno(WLR_ERROR, "fcntl(F_DUPFD_CLOEXEC) failed");
return false;
}