Re: Bug#752237: libc0.3: send() asked to transmit 0 chars still triggers recv() on Hurd

2014-06-28 Thread Andreas Cadhalpun
Hi Richard, On 28.06.2014 10:48, Richard Braun wrote: Thanks for the report. There are actually two sides of the problem. First, I agree that there seems to be a bug, but let's take a closer look at the spec. The return value for recv() is defined as : "Upon successful completion, recv() shall

Re: Bug#752237: libc0.3: send() asked to transmit 0 chars still triggers recv() on Hurd

2014-06-28 Thread Roland McGrath
I'm inclined to say libc is not the right place to fix this. If the user says write/send 0, what that means should be up to the io server to decide--even if all the servers we have today are intending to implement the same POSIX semantics.

Re: Bug#752237: libc0.3: send() asked to transmit 0 chars still triggers recv() on Hurd

2014-06-28 Thread Richard Braun
On Sat, Jun 28, 2014 at 12:42:40PM +0200, Richard Braun wrote: > I'll see if simply catching completely empty messages at socket_send is > a good enough solution. The solution seems to work, and I couldn't see anything against it, unlike the previous attempt. However I'd really like to put it into

Re: Bug#752237: libc0.3: send() asked to transmit 0 chars still triggers recv() on Hurd

2014-06-28 Thread Richard Braun
On Sat, Jun 28, 2014 at 12:09:15PM +0200, Samuel Thibault wrote: > Richard Braun, le Sat 28 Jun 2014 11:51:42 +0200, a écrit : > > On Sat, Jun 28, 2014 at 10:48:56AM +0200, Richard Braun wrote: > > > On Sat, Jun 21, 2014 at 03:56:46PM +0200, Andreas Cadhalpun wrote: > > > > This is because the clie

Re: Bug#752237: libc0.3: send() asked to transmit 0 chars still triggers recv() on Hurd

2014-06-28 Thread Samuel Thibault
Richard Braun, le Sat 28 Jun 2014 11:51:42 +0200, a écrit : > On Sat, Jun 28, 2014 at 10:48:56AM +0200, Richard Braun wrote: > > On Sat, Jun 21, 2014 at 03:56:46PM +0200, Andreas Cadhalpun wrote: > > > This is because the client is calling: > > > send(sockfd, "", 0, 0) > > > > > > Normally this

Re: Bug#752237: libc0.3: send() asked to transmit 0 chars still triggers recv() on Hurd

2014-06-28 Thread Richard Braun
On Sat, Jun 28, 2014 at 10:48:56AM +0200, Richard Braun wrote: > On Sat, Jun 21, 2014 at 03:56:46PM +0200, Andreas Cadhalpun wrote: > > This is because the client is calling: > > send(sockfd, "", 0, 0) > > > > Normally this doesn't trigger recv() in the server and thus can be > > used to test,

Re: Bug#752237: libc0.3: send() asked to transmit 0 chars still triggers recv() on Hurd

2014-06-28 Thread Richard Braun
On Sat, Jun 21, 2014 at 03:56:46PM +0200, Andreas Cadhalpun wrote: > This is because the client is calling: > send(sockfd, "", 0, 0) > > Normally this doesn't trigger recv() in the server and thus can be > used to test, whether the socket is working. > But on Hurd it actually sends an empty