dbus: enable epoll support

This commit is contained in:
Jeremy Soller 2025-11-10 12:42:51 -07:00
parent 8e492423c1
commit 070ebb0c52
No known key found for this signature in database
GPG Key ID: 670FDFB5428E05CA
2 changed files with 24 additions and 4 deletions

View File

@ -17,7 +17,7 @@ dependencies = [
template = "meson" template = "meson"
mesonflags = [ mesonflags = [
#TODO: why does this require Linux? #TODO: why does this require Linux?
"-Depoll=disabled", "-Depoll=enabled",
"-Dx11_autolaunch=enabled", "-Dx11_autolaunch=enabled",
"-Dverbose_mode=true", "-Dverbose_mode=true",
] ]

View File

@ -1,7 +1,27 @@
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 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-old/dbus/dbus-sysdeps-unix.c 2025-02-27 09:29:06.000000000 -0700
+++ source/dbus/dbus-sysdeps-unix.c 2025-10-30 10:39:53.344885840 -0600 +++ source/dbus/dbus-sysdeps-unix.c 2025-11-09 08:33:43.299893494 -0700
@@ -4962,6 +4962,11 @@ @@ -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 void
_dbus_close_all (void) _dbus_close_all (void)
{ {
@ -13,7 +33,7 @@ diff -ruwN source-old/dbus/dbus-sysdeps-unix.c source/dbus/dbus-sysdeps-unix.c
#ifdef HAVE_CLOSE_RANGE #ifdef HAVE_CLOSE_RANGE
if (close_range (3, INT_MAX, 0) == 0) if (close_range (3, INT_MAX, 0) == 0)
return; return;
@@ -4981,6 +4986,11 @@ @@ -4981,6 +4987,11 @@
void void
_dbus_fd_set_all_close_on_exec (void) _dbus_fd_set_all_close_on_exec (void)
{ {