author | Danek Duvall <danek.duvall@oracle.com> |
Tue, 31 Mar 2015 13:48:00 -0700 | |
branch | s11-update |
changeset 4058 | 2c35b27b5cde |
permissions | -rw-r--r-- |
4058
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1 |
This fixes an upstream bug: |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
2 |
|
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
3 |
https://github.com/traviscross/mtr/issues/35 |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
4 |
|
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
5 |
The patch is from |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
6 |
|
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
7 |
https://bugs.launchpad.net/mtr/+bug/1273486/comments/5 |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
8 |
|
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
9 |
--- mtr-0.86/net.c 2014-12-09 03:20:57.000000000 -0800 |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
10 |
+++ mtr-0.86/net.c 2015-03-20 09:43:55.576572132 -0700 |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
11 |
@@ -301,7 +301,7 @@ void net_send_tcp(int index) |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
12 |
void net_send_tcp(int index) |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
13 |
{ |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
14 |
int ttl, s; |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
15 |
- int opt = 1; |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
16 |
+ int flags; |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
17 |
int port; |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
18 |
struct sockaddr_storage local; |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
19 |
struct sockaddr_storage remote; |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
20 |
@@ -354,10 +354,10 @@ void net_send_tcp(int index) |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
21 |
exit(EXIT_FAILURE); |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
22 |
} |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
23 |
|
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
24 |
- opt = 1; |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
25 |
- if (ioctl(s, FIONBIO, &opt)) { |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
26 |
+ flags = fcntl(s, F_GETFL, 0); |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
27 |
+ if (fcntl(s, F_SETFL, flags | O_NONBLOCK) == -1) { |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
28 |
display_clear(); |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
29 |
- perror("ioctl FIONBIO"); |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
30 |
+ perror("fcntl F_SETFL(O_NONBLOCK)"); |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
31 |
exit(EXIT_FAILURE); |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
32 |
} |
2c35b27b5cde
PSARC 2008/161 MTR - My Traceroute
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
33 |