mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2025-12-21 09:40:07 +01:00
dbus-run-session starts a dbus-daemon before the client application. We must avoid letting the application try to connect before the dbus-daemon's DBusServer is listening for connections. In the Unix implementation, we already achieved this via the --print-address option. If the client tried to connect too soon, the server would not yet be listening and the client would fail. In the Windows implementation, we communicate the bus address to the client application as an autolaunch: address, so if the client tried to connect too soon, it would autolaunch a new dbus-daemon instead of using the one that it was intended to use. We can avoid this by using a new option to pass in a Windows event object, which will be set when the server has started and is ready to process connections. Fixes #297
39 lines
1.3 KiB
C
39 lines
1.3 KiB
C
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
|
/* tool-common - common functionality for dbus-test-tool modules
|
|
*
|
|
* Copyright © 2003 Philip Blundell <philb@gnu.org>
|
|
* Copyright © 2011 Nokia Corporation
|
|
* Copyright © 2014 Collabora Ltd.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*
|
|
*/
|
|
|
|
#ifndef DBUS_TOOL_COMMON_H
|
|
#define DBUS_TOOL_COMMON_H
|
|
|
|
#include <dbus/dbus.h>
|
|
|
|
#if 0
|
|
#define VERBOSE fprintf
|
|
#else
|
|
#define VERBOSE(...) do {} while (0)
|
|
#endif
|
|
|
|
void tool_oom (const char *doing) _DBUS_GNUC_NORETURN;
|
|
dbus_bool_t tool_write_all (int fd, const void *buf, size_t size);
|
|
void tool_stderr_error (const char *context, DBusError *error);
|
|
|
|
#endif
|