psqlODBC and IPv6
От | Zoltan Boszormenyi |
---|---|
Тема | psqlODBC and IPv6 |
Дата | |
Msg-id | 48CF52F4.6040206@cybertec.at обсуждение исходный текст |
Ответы |
Re: psqlODBC and IPv6
|
Список | pgsql-odbc |
Hi, does anyone know why 08.03.0200 fixed connecting to a server via an IPv6 socket? 08.03.0100 is in Fedora 9 and connection is very unreliable: https://bugzilla.redhat.com/show_bug.cgi?id=462312 The diff between .0100 and .0200 reveals only a thinko fix in socket.c: ======================================= @@ -472,7 +485,7 @@ static int SOCK_wait_for_ready(SocketCla tm.tv_sec = retry_count; tm.tv_usec = 0; } - ret = select((int) socket + 1, output ? NULL : &fds, output ? &fds : NULL, &except_fds, no_timeout ? NULL : &tm); + ret = select((int) sock->socket + 1, output ? NULL : &fds, output ? &fds : NULL, &except_fds, no_timeout ? NULL : &tm); gerrno = SOCK_ERRNO; } while (ret < 0 && EINTR == gerrno); if (retry_count < 0) ======================================= There's no "socket" variable around there or even declared globally, only the address of socket(2) function. But why would this "select (address + 1, ...)" which is most likely larger than the number of open files cause protocol errors in IPv6 but not in IPv4? There seems to be no IPv6 specific in the changes between 08.03.0100 and .0200. Thanks in advance, Zoltán Böszörményi -- ---------------------------------- Zoltán Böszörményi Cybertec Schönig & Schönig GmbH http://www.postgresql.at/
В списке pgsql-odbc по дате отправления: