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

Re: Bug#647825: udevd[XXX]: unable to receive ctrl connection: Function not implemented



On Fri, Nov 11, 2011 at 07:48:24PM +0100, Émeric Maschino wrote:
> 2011/11/11 Ben Hutchings <ben@decadent.org.uk>:
> > That version just calls the libc implementation of accept4(), which
> > won't work until libc is rebuilt.  You need to define __NR_accept4 and
> > call syscall(__NR_accept4, ...) in the test program instead.
> 
> Isn't Wheezy eglibc 2.13-21 supposed to already implement accept4()?

That is a little difficult when the system call is not even defined
for an architecture!  Until it is rebuilt against the new kernel
header, I assume it will use a fallback implementation that always
fails.

> I've nevertheless modified test_accept.c following your guidelines. I
> also had to rename accept4() to __accept4(), otherwise it will
> conflict with non-static definition of accept4() in
> /usr/include/ia64-linux-gnu/sys/socket.h (isn't this the eglibc
> declaration?)

Right.

> I'm however still getting the error message stating that accept4() is
> not implemented, although I've rebuilt my kernel with the patches and
> booted the system with it:
> 
> emeric@longspeak:~/Documents$ ./test_accept4
> =======================================
> Calling accept4(): flags = 0
> accept4(): Function not implemented
[...]

I have no idea why this would still fail; maybe you need to change
something additional in the kernel.  Ask the linux-ia64 mailing list.

Ben.

-- 
Ben Hutchings
We get into the habit of living before acquiring the habit of thinking.
                                                              - Albert Camus


Reply to: