Hi,
I'm sorry for the 48kb of compressed source. I meant this is what I
could provide in like 15 minutes. This was not supposed to be the clean
testcase, just so you have *something* to see the problem.
I had a chance to boil it down to a testcase only tonight. This is what
I came up with.
Attached you will find 3kb of compressed source. Do a
gcc -o server5a server5a.c
gcc -o client3a client3a.c
Then run:
./server5a &
./client3a
The client will send the string "123456789" to the server. The server
increments the first character (just for the heck of it) and sends back
the modified string in two chunks of 5 chars each. The client writes the
received stuff to a buffer which is initialized to "000000000".
With cygwin1.dll 1.1.4 I get:
$ ./server5a &
[1] 1003
markus@WUTZ ~/prog/cygnus-b20/socket
$ server waiting
./client3a
char to server = 123456789
adding client on fd 4
server waiting
serving client on fd 4; ch=123456789<<
removing client on fd 4; ch=223456789<<
server waiting
char from server = 223456789
With 1.1.6 I get:
$ ./server5a &
[1] 141
markus@WUTZ ~/prog/cygnus-b20/socket
$ server waiting
./client3a
char to server = 123456789
adding client on fd 4
server waiting
serving client on fd 4; ch=123456789<<
removing client on fd 4; ch=223456789<<
server waiting
char from server = 2234500000
i.e. only the first write() gets through.
Thanks for looking at this, and my apologies again for the
misunderstanding with the 48kb "testcase".
Markus
----- Original Message -----
From: Corinna Vinschen <[EMAIL PROTECTED]>
Date: Friday, December 8, 2000 1:31 am
Subject: Re: socket read()/write() problem in 1.1.6
> On Friday 08 December 2000 01:54, Christopher Faylor wrote:
> > Here it is. It's not a "simple" test case by any means.
> >
> > cgf
>
> Thanks,
> Corinna
>
> --
> Want to unsubscribe from this list?
> Send a message to [EMAIL PROTECTED]
>
>
sockettest.tar.gz
--
Want to unsubscribe from this list?
Send a message to [EMAIL PROTECTED]