Subject: Re: connect() does not work with UNIX domain datagram sockets
From: egor duda <[email-masked]>
To: DEVRIENDT ERIK <[email-masked]>
Cc: [email-masked]
Date: Tue, 2 Apr 2002 20:05:53 +0400

Hi!

Tuesday, 02 April, 2002 DEVRIENDT ERIK [email-masked] wrote:

DE> I am porting a client-server set of programs that run
DE> fine under linux.
DE> The programs communicate using UNIX domain datagram sockets.
DE> the server does the classic socket(), unlink(), bind() and then a loop
DE> with read(). There is no accept() because we use datagram
DE> sockets.

DE> The problem is in the client, which does socket(), connect()
DE> and then a loop with write() calls.
DE> The connect() hangs for 10 seconds and then fails with errno=111
DE> (Connection refused).
DE> When using sendto() I manage to send data, but that doesn't fit well
DE> in the current implementation of the client (we use the same
DE> codebase for several platforms). 
DE> According to the man pages of select() on linux and HP-UX it is allowed
DE> to use connect() with datagram sockets; it sets the default destination
DE> address for the communication over that socket.

DE> Is this a cygwin bug, or am I doing something wrong ?

It may be cygwin bug. You can do a couple of things to help us to find
it out. First, send a test program to the list, i'll try to reproduce
the problem. Second. Try running your program using strace utility,
like this:

strace -f -b 65000 -o strace.log some_program.exe

Then look into strace.log. I bet it will contain a string "accept from
unauthorized server" string (or "connect from unauthorized client").
If that's so, can you please send me strace.log.bz2 via personal
e-mail to <[email-masked]> ?

Egor.            mailto:[email-masked] ICQ 5165414 FidoNet 2:5020/496.19

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/