Date: Thu, 15 Aug 2002 17:22:13 +0200 (CEST) From: Martin Blapp <mb@imp.ch> To: <dev@porting.openoffice.org> Cc: <openoffice@freebsd.org> Subject: FreeBSD and webdav problems Message-ID: <20020815171253.Y17516-100000@levais.imp.ch> In-Reply-To: <3D5BC47B.4040106@sun.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi all,
I see some strange behaviour here with webdav. A connection
does loop here: external/neon/rtufiles/socket.c
nsocket *sock_connect(const struct in_addr addr,
unsigned short int portnum)
{
struct sockaddr_in sa;
int fd;
/* Create the socket */
fd = socket(AF_INET, SOCK_STREAM, 0);
if (fd < 0)
return NULL;
/* Connect the nsocket */
sa.sin_family = AF_INET;
sa.sin_port = htons(portnum); /* host -> net byte orders */
sa.sin_addr = addr;
if (connect(fd, (struct sockaddr *)&sa, sizeof(struct sockaddr_in)) < 0) {
(void) NEON_CLOSE(fd);
return NULL;
}
/* Success - return the nsocket */
return create_sock(fd);
}
Breakpoint 1, sock_connect (addr={s_addr = 80}, portnum=80) at socket.c:703
703 fd = socket(AF_INET, SOCK_STREAM, 0);
(gdb) c
Continuing.
Breakpoint 4, 0x28bc0d4d in connect () from /usr/lib/libc_r.so.4
(gdb) c
Continuing.
Breakpoint 3, sock_close (sock=0x81db870) at socket.c:872
872 ret = NEON_CLOSE(sock->fd);
(gdb) c
Continuing.
Breakpoint 1, sock_connect (addr={s_addr = 80}, portnum=80) at socket.c:703
703 fd = socket(AF_INET, SOCK_STREAM, 0);
(gdb) c
Continuing.
Breakpoint 4, 0x28bc0d4d in connect () from /usr/lib/libc_r.so.4
(gdb) p errno
$11 = 36
connect() returns EINPROGRESS.
[EINPROGRESS] The socket is non-blocking and the connection cannot
be completed immediately. It is possible to select(2)
for completion by selecting the socket for writing.
This is not handled by the webdav code and so we get into
and endless loop.
How does this work on other platforms ?
Martin
Martin Blapp, <mb@imp.ch> <mbr@FreeBSD.org>
------------------------------------------------------------------
ImproWare AG, UNIXSP & ISP, Zurlindenstrasse 29, 4133 Pratteln, CH
Phone: +41 061 826 93 00: +41 61 826 93 01
PGP: <finger -l mbr@freebsd.org>
PGP Fingerprint: B434 53FC C87C FE7B 0A18 B84C 8686 EF22 D300 551E
------------------------------------------------------------------
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-openoffice" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020815171253.Y17516-100000>
