From: Colin Walters Date: Fri, 3 Sep 2010 18:46:53 +0000 (-0400) Subject: Merge branch 'dbus-1.2' X-Git-Tag: dbus-1.4.0~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=87d324c3434b03214d82c6fc30cb7a6a754318ab;p=thirdparty%2Fdbus.git Merge branch 'dbus-1.2' Conflicts: dbus/dbus-sysdeps-unix.c --- 87d324c3434b03214d82c6fc30cb7a6a754318ab diff --cc dbus/dbus-sysdeps-unix.c index e859ec601,b58d09ab8..e4ff6eea7 --- a/dbus/dbus-sysdeps-unix.c +++ b/dbus/dbus-sysdeps-unix.c @@@ -1322,11 -925,18 +1332,19 @@@ _dbus_listen_tcp_socket (const cha } _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; _dbus_close(fd, NULL); - if (errno == EADDRINUSE) + if (saved_errno == EADDRINUSE) { /* Depending on kernel policy, it may or may not be neccessary to bind to both IPv4 & 6 addresses