summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2010-09-03 14:46:53 -0400
committerColin Walters <walters@verbum.org>2010-09-03 14:46:53 -0400
commit87d324c3434b03214d82c6fc30cb7a6a754318ab (patch)
treefb8a3ebed2a8e2b20cb98001accb58195b51c4ed
parent45d53565bc13678d6aa5edec1d4efb5bf8a64e0b (diff)
parent8f2eb502a3c491b64012adb3ea8220a9952ce3c6 (diff)
downloaddbus-87d324c3434b03214d82c6fc30cb7a6a754318ab.tar.gz
Merge branch 'dbus-1.2'
Conflicts: dbus/dbus-sysdeps-unix.c
-rwxr-xr-xbus/messagebus.in2
-rw-r--r--dbus/dbus-sysdeps-unix.c18
2 files changed, 19 insertions, 1 deletions
diff --git a/bus/messagebus.in b/bus/messagebus.in
index 1f1004b1..3e2ee07a 100755
--- a/bus/messagebus.in
+++ b/bus/messagebus.in
@@ -68,7 +68,7 @@ case "$1" in
stop
;;
status)
- status $processname
+ status $servicename
RETVAL=$?
;;
restart)
diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c
index e859ec60..e4ff6eea 100644
--- a/dbus/dbus-sysdeps-unix.c
+++ b/dbus/dbus-sysdeps-unix.c
@@ -902,6 +902,7 @@ _dbus_listen_unix_socket (const char *path,
int listen_fd;
struct sockaddr_un addr;
size_t path_len;
+ unsigned int reuseaddr;
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
@@ -976,6 +977,14 @@ _dbus_listen_unix_socket (const char *path,
strncpy (addr.sun_path, path, path_len);
}
+ reuseaddr = 1;
+ if (setsockopt (listen_fd, SOL_SOCKET, SO_REUSEADDR, &reuseaddr, sizeof(reuseaddr))==-1)
+ {
+ dbus_set_error (error, _dbus_error_from_errno (errno),
+ "Failed to set socket option\"%s\": %s",
+ path, _dbus_strerror (errno));
+ }
+
if (bind (listen_fd, (struct sockaddr*) &addr, _DBUS_STRUCT_OFFSET (struct sockaddr_un, sun_path) + path_len) < 0)
{
dbus_set_error (error, _dbus_error_from_errno (errno),
@@ -1277,6 +1286,7 @@ _dbus_listen_tcp_socket (const char *host,
int nlisten_fd = 0, *listen_fd = NULL, res, i;
struct addrinfo hints;
struct addrinfo *ai, *tmp;
+ unsigned int reuseaddr;
*fds_p = NULL;
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
@@ -1322,6 +1332,14 @@ _dbus_listen_tcp_socket (const char *host,
}
_DBUS_ASSERT_ERROR_IS_CLEAR(error);
+ reuseaddr = 1;
+ if (setsockopt (fd, SOL_SOCKET, SO_REUSEADDR, &reuseaddr, sizeof(reuseaddr))==-1)
+ {
+ dbus_set_error (error, _dbus_error_from_errno (errno),
+ "Failed to set socket option \"%s:%s\": %s",
+ host ? host : "*", port, _dbus_strerror (errno));
+ }
+
if (bind (fd, (struct sockaddr*) tmp->ai_addr, tmp->ai_addrlen) < 0)
{
saved_errno = errno;