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

Bug#526734: libc: poll not working on ipv4 socket



Package: libc6
Version: 2.9-9
Severity: normal
File: libc

The following code:

                if (poll(monitor,1,READ_TIMEOUT)==0) {
                    r=0;
                } else {
                    r = read(fd,buf->buffer,buf->size);
                }

Works as expected (giving up the read after the timeout if there is no data) if
fd is an ipv6 socket, but does a blocking read if fd is an ipv4 socked.

If required, i can provide the full source code.

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (101, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.29-1-686 (SMP w/2 CPU cores)
Locale: LANG=it_IT.UTF-8, LC_CTYPE=it_IT.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages libc6 depends on:
ii  libgcc1                       1:4.4.0-1  GCC support library

libc6 recommends no packages.

Versions of packages libc6 suggests:
ii  belocs-locales-data [locales] 2.4-6      base files for localization
pn  glibc-doc                     <none>     (no description available)
ii  libc6-i686                    2.9-9      GNU C Library: Shared libraries [i

-- debconf information:
* glibc/upgrade: true
  glibc/disable-screensaver:
  glibc/restart-failed:
* glibc/restart-services: rsync cups cron



Reply to: