redox/recipes/wip/services/dbus/redox.patch
2025-11-10 12:42:51 -07:00

48 lines
1.5 KiB
Diff

diff -ruwN source-old/dbus/dbus-pollable-set-epoll.c source/dbus/dbus-pollable-set-epoll.c
--- source-old/dbus/dbus-pollable-set-epoll.c 2025-02-27 09:29:06.000000000 -0700
+++ source/dbus/dbus-pollable-set-epoll.c 2025-11-10 10:21:36.940618496 -0700
@@ -30,7 +30,7 @@
#include <dbus/dbus-internals.h>
#include <dbus/dbus-sysdeps.h>
-#ifndef __linux__
+#if !defined(__linux__) && !defined(__redox__)
# error This file is for Linux epoll(4)
#endif
diff -ruwN source-old/dbus/dbus-sysdeps-unix.c source/dbus/dbus-sysdeps-unix.c
--- source-old/dbus/dbus-sysdeps-unix.c 2025-02-27 09:29:06.000000000 -0700
+++ source/dbus/dbus-sysdeps-unix.c 2025-11-09 08:33:43.299893494 -0700
@@ -2611,6 +2611,7 @@
if (client_fd.fd < 0 && (errno == ENOSYS || errno == EINVAL))
#endif
{
+ _dbus_verbose ("accept %d, %p, %p\n", listen_fd.fd, &addr, &addrlen);
client_fd.fd = accept (listen_fd.fd, &addr, &addrlen);
}
@@ -4962,6 +4963,11 @@
void
_dbus_close_all (void)
{
+#if defined(__redox__)
+ fprintf(stderr, "ignoring _dbus_close_all until relibc internal FDs are in upper fd table\n");
+ return;
+#endif
+
#ifdef HAVE_CLOSE_RANGE
if (close_range (3, INT_MAX, 0) == 0)
return;
@@ -4981,6 +4987,11 @@
void
_dbus_fd_set_all_close_on_exec (void)
{
+#if defined(__redox__)
+ fprintf(stderr, "ignoring _dbus_fd_set_all_close_on_exec until relibc internal FDs are in upper fd table\n");
+ return;
+#endif
+
#if defined(HAVE_CLOSE_RANGE) && defined(CLOSE_RANGE_CLOEXEC)
if (close_range (3, INT_MAX, CLOSE_RANGE_CLOEXEC) == 0)
return;