Thread (6 messages) flat view 6 messages, 3 authors, 2013-08-28

Re: [PATCH] tipc: set sk_err correctly when connection fails

From: Paul Gortmaker <hidden>
Date: 2013-08-27 18:12:17

On 13-08-27 11:18 AM, Erik Hugne wrote:
On Tue, Aug 27, 2013 at 09:20:23AM -0400, Paul Gortmaker wrote:
quoted
What was the high level user visible symptom in this case?
Stalled connections or ... ?
Should the connect fail, if the publication/server is unavailable or some other
error. The connect() call returns the error code directly (as a positive value).
Please send a v2 with the end-user visible symptom clearly described;
as this information is what people use in order to triage whether
commits belong in stable, or net vs. net-next etc.   For example:

  Should the connect fail, say if the publication/server is unavailable or
  some other error, then the code returns a positive return value.  Since
  most code only checks for a negative return on connect(), it tries to
  continue, but will ultimately fail on the 1st sendto() as the strace
  snippet below shows.

I've said "most code" since I simply don't know what it was that you were
tracing below.  It would help if we knew if this part of a common application
or similar.

Thanks,
Paul.
--
[...]
socket(0x1e /* PF_??? */, SOCK_SEQPACKET, 0) = 3
setsockopt(3, 0x10f /* SOL_?? */, 129, [0], 4) = 0
setsockopt(3, 0x10f /* SOL_?? */, 127, [0], 4) = 0
connect(3, {sa_family=0x1e /* AF_??? */, sa_data="\2\1\322\4\0\0\322\4\0\0\0\0\0\0"}, 16) = 111
sendto(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 66000, 0, NULL, 0) = -1 EPIPE (Broken pipe)

In the strace above, error checking was done as:
if (connect(fd,.....) < 0)
    perror("connect");

//E
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help