bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

dbus startup problem when built with eglibc-2.17


From: Svante Signell
Subject: dbus startup problem when built with eglibc-2.17
Date: Mon, 02 Sep 2013 22:35:51 +0200

Hi,

After building dbus-1.6.12-1 with eglibc-2.17-92 starting dbus-daemon
fails (it was built 80 days ago with eglibc-2.13). The problem is due to
the two statements in dbus/dbus-sysdeps-unix.c:
  *fd_p = socket (domain, type | SOCK_CLOEXEC, protocol);
  cloexec_done = *fd_p >= 0;
  if (*fd_p < 0 && errno == EINVAL)
and
  retval = socketpair(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0, fds);
  cloexec_done = retval >= 0;
  if (retval < 0 && errno == EINVAL)

Now when SOCK_CLOEXEC is defined in bits/socket.h from 2.16
and hurd/pflocal/pf.c returns EPROTOTYPE not EINVAL problems arise.
The solution is to patch dbus to cover also EPROTYYPE,
  if (*fd_p < 0 && (errno == EINVAL || errno == EPROTOTYPE))
  if (retval < 0 && (errno == EINVAL || errno == EPROTOTYPE))
or to patch pf.c to return EINVAL instead of EPROTOTYPE.

Which way to go?

(see also
eglibc-2.17/debian/patches/hurd-i386/submitted-handle-eprototype.diff
for patches to internal eglibc functions)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]