projects
/
lttng-ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: agent: read: end of loop condition should exclude 0
[lttng-ust.git]
/
liblttng-ust-java-agent
/
java
/
lttng-ust-agent-common
/
org
/
lttng
/
ust
/
agent
/
client
/
LttngTcpSessiondClient.java
diff --git
a/liblttng-ust-java-agent/java/lttng-ust-agent-common/org/lttng/ust/agent/client/LttngTcpSessiondClient.java
b/liblttng-ust-java-agent/java/lttng-ust-agent-common/org/lttng/ust/agent/client/LttngTcpSessiondClient.java
index d42bc9af4ee112c105ee48605b58c1c98843ba09..c63850050444ad42a47a8dccce94b3b30f2b638e 100644
(file)
--- a/
liblttng-ust-java-agent/java/lttng-ust-agent-common/org/lttng/ust/agent/client/LttngTcpSessiondClient.java
+++ b/
liblttng-ust-java-agent/java/lttng-ust-agent-common/org/lttng/ust/agent/client/LttngTcpSessiondClient.java
@@
-133,11
+133,31
@@
public class LttngTcpSessiondClient implements Runnable {
handleSessiondCmd();
} catch (UnknownHostException uhe) {
uhe.printStackTrace();
handleSessiondCmd();
} catch (UnknownHostException uhe) {
uhe.printStackTrace();
+ /*
+ * Terminate agent thread.
+ */
+ close();
} catch (IOException ioe) {
} catch (IOException ioe) {
+ /*
+ * I/O exception may have been triggered by a session daemon
+ * closing the socket. Close our own socket and
+ * retry connecting after a delay.
+ */
try {
try {
+ if (this.sessiondSock != null) {
+ this.sessiondSock.close();
+ }
Thread.sleep(3000);
} catch (InterruptedException e) {
Thread.sleep(3000);
} catch (InterruptedException e) {
- e.printStackTrace();
+ /*
+ * Retry immediately if sleep is interrupted.
+ */
+ } catch (IOException closeioe) {
+ closeioe.printStackTrace();
+ /*
+ * Terminate agent thread.
+ */
+ close();
}
}
}
}
}
}
@@
-367,7
+387,7
@@
public class LttngTcpSessiondClient implements Runnable {
int bytesLeft = data.length;
int bytesOffset = 0;
int bytesLeft = data.length;
int bytesOffset = 0;
- while (bytesLeft >
=
0) {
+ while (bytesLeft > 0) {
int bytesRead = this.inFromSessiond.read(data, bytesOffset, bytesLeft);
if (bytesRead < 0) {
int bytesRead = this.inFromSessiond.read(data, bytesOffset, bytesLeft);
if (bytesRead < 0) {
@@
-396,7
+416,7
@@
public class LttngTcpSessiondClient implements Runnable {
return null;
}
return null;
}
- while (bytesLeft >
=
0) {
+ while (bytesLeft > 0) {
int bytesRead = inFromSessiond.read(payload, bytesOffset, bytesLeft);
if (bytesRead < 0) {
int bytesRead = inFromSessiond.read(payload, bytesOffset, bytesLeft);
if (bytesRead < 0) {
This page took
0.024574 seconds
and
4
git commands to generate.