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

Bug#270797: libc6: sched affinity library calls and manpages do not match



Package: libc6
Version: 2.3.2.ds1-16
Severity: normal

Hi,

The current debian manpage for getaffinity is:

int sched_getaffinity(pid_t  pid,  unsigned  int  len,  unsigned long *mask);

But an application that does this:

        unsigned long small_bitmap;
        ret = sched_getaffinity(getpid(), sizeof(small_bitmap), &small_bitmap);

fails, the strace output shows:

sched_getaffinity(21479, 128, 0x4)      = -1 EFAULT (Bad address)

Notice how the 128 got added. Removing the size field and the call works:

        ret = sched_getaffinity(getpid(), &small_bitmap);

sched_getaffinity(21879, 128,  { 1 })   = 4

This looks like the debian glibc is using an interim version of cpu
affinity calls where the length was removed and the cpu_set_t
abstraction was introduced.

BTW Im anxious to see a relatively recent version of glibc end up in
debian, is that likely to happen in the near future?

-- System Information:
Debian Release: 3.1
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: powerpc (ppc)
Kernel: Linux 2.6.8.1
Locale: LANG=C, LC_CTYPE=C

Versions of packages libc6 depends on:
ii  libdb1-compat                 2.1.3-7    The Berkeley database routines [gl

-- no debconf information



Reply to: