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

Bug#722885: libc0.1-dev: useless prototype for accept4 on kfreebsd



Package: libc0.1-dev
Version: 2.17-92
Severity: normal

Dear Maintainer,

FreeBSD wiki [0] states that accept4, SOCK_CLOEXEC and SOCK_NONBLOCK are
implemented only in FreeBSD 10, but libc on gnu/kfreebsd has prototype
for accept4.

It seems to me that even if debian's kfreebsd supports accept4 (I
doubt) it will be better to remove that prototype because:
1) it's useless without SOCK_CLOEXEC or SOCK_NONBLOCK
2) some software assumes that accept4 and SOCK_CLOEXEC go together so
they check only for accept4 but not for SOCK_CLOEXEC, it's the reason
why ruby2.0 build is failed on kfreebsd.

rmh@ suggested in debian-bsd to wrap accept4 definition:

#if defined(SOCK_CLOEXEC) || defined(SOCK_NONBLOCK)
/* accept4 prototype */
#endif

[0]: https://wiki.freebsd.org/AtomicCloseOnExec

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: kfreebsd-i386 (i386)

Kernel: kFreeBSD 9.2-1-686
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash

Versions of packages libc0.1-dev depends on:
ii  kfreebsd-kernel-headers  9.2~2
ii  libc-dev-bin             2.17-92
ii  libc0.1                  2.17-92

Versions of packages libc0.1-dev recommends:
ii  gcc [c-compiler]      4:4.8.1-3
ii  gcc-4.6 [c-compiler]  4.6.4-4
ii  gcc-4.8 [c-compiler]  4.8.1-10

Versions of packages libc0.1-dev suggests:
pn  glibc-doc     <none>
ii  manpages-dev  3.53-1

-- no debconf information


Reply to: