X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=liblttng-ust-java-agent%2Fjava%2Flttng-ust-agent-common%2Forg%2Flttng%2Fust%2Fagent%2Fclient%2FLttngTcpSessiondClient.java;h=0e7a5c187987398139fd6e0d7d6d9bd88dbc0cb0;hb=7847c7e43259dccd8cc8587abd340248328cbd86;hp=d42bc9af4ee112c105ee48605b58c1c98843ba09;hpb=c48dc6d8488a00952c793868a2dfcde55d903598;p=lttng-ust.git 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 d42bc9af..0e7a5c18 100644 --- 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(); + /* + * Terminate agent thread. + */ + close(); } 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 { + if (this.sessiondSock != null) { + this.sessiondSock.close(); + } Thread.sleep(3000); } catch (InterruptedException e) { - e.printStackTrace(); + /* + * Retry immediately if sleep is interrupted. + */ + } catch (IOException closeioe) { + closeioe.printStackTrace(); + /* + * Terminate agent thread. + */ + close(); } } }