From 169238e99a4a163c89eb053250daeedf5f73e5cd Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Sat, 15 Mar 2003 04:25:09 +0000 Subject: 2003-03-14 Havoc Pennington * bus/dispatch.c (bus_dispatch_test): do test using debug-pipe transport, tests more of the real codepath. Set up clients with bus_setup_debug_client. * bus/test.c (bus_setup_debug_client): function to set up debug "clients" on the main loop * dbus/dbus-transport.c (_dbus_transport_open): add debug-pipe support * dbus/dbus-server.c (dbus_server_listen): add debug-pipe server type * dbus/dbus-server-debug.c: support a debug server based on pipes * dbus/dbus-sysdeps.c (_dbus_full_duplex_pipe): new function (_dbus_close): new function * configure.in: check for socketpair --- dbus/dbus-server.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'dbus/dbus-server.c') diff --git a/dbus/dbus-server.c b/dbus/dbus-server.c index a5e5e2b7..80ee6fc2 100644 --- a/dbus/dbus-server.c +++ b/dbus/dbus-server.c @@ -25,6 +25,7 @@ #include "dbus-server-unix.h" #ifdef DBUS_BUILD_TESTS #include "dbus-server-debug.h" +#include "dbus-server-debug-pipe.h" #endif #include "dbus-address.h" @@ -272,6 +273,18 @@ dbus_server_listen (const char *address, server = _dbus_server_debug_new (name, result); + if (server) + break; + } + else if (strcmp (method, "debug-pipe") == 0) + { + const char *name = dbus_address_entry_get_value (entries[i], "name"); + + if (name == NULL) + goto bad_address; + + server = _dbus_server_debug_pipe_new (name, result); + if (server) break; } -- cgit