Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreutarass2010-06-24 22:44:57 +0000
committereutarass2010-06-24 22:44:57 +0000
commitf07d0dcea8d2f8172decfdc4233034e3044db1c4 (patch)
tree34b1fd6ed579ea5b67700342b347362aa27a1009 /plugins/org.eclipse.tm.tcf.core
parent742274476a9e1a08117e16c1cede34038b0306dc (diff)
downloadorg.eclipse.tcf-f07d0dcea8d2f8172decfdc4233034e3044db1c4.tar.gz
org.eclipse.tcf-f07d0dcea8d2f8172decfdc4233034e3044db1c4.tar.xz
org.eclipse.tcf-f07d0dcea8d2f8172decfdc4233034e3044db1c4.zip
TCF Debugger: improved model deltas generation logic
Diffstat (limited to 'plugins/org.eclipse.tm.tcf.core')
-rw-r--r--plugins/org.eclipse.tm.tcf.core/src/org/eclipse/tm/internal/tcf/services/local/LocatorService.java42
1 files changed, 24 insertions, 18 deletions
diff --git a/plugins/org.eclipse.tm.tcf.core/src/org/eclipse/tm/internal/tcf/services/local/LocatorService.java b/plugins/org.eclipse.tm.tcf.core/src/org/eclipse/tm/internal/tcf/services/local/LocatorService.java
index ffaf21900..03a940fcb 100644
--- a/plugins/org.eclipse.tm.tcf.core/src/org/eclipse/tm/internal/tcf/services/local/LocatorService.java
+++ b/plugins/org.eclipse.tm.tcf.core/src/org/eclipse/tm/internal/tcf/services/local/LocatorService.java
@@ -233,26 +233,32 @@ public class LocatorService implements ILocator {
private final Thread input_thread = new Thread() {
public void run() {
- for (;;) {
- DatagramSocket socket = LocatorService.this.socket;
- try {
- final DatagramPacket p = new DatagramPacket(inp_buf, inp_buf.length);
- socket.receive(p);
- Protocol.invokeAndWait(new Runnable() {
- public void run() {
- handleDatagramPacket(p);
- }
- });
- }
- catch (IllegalStateException x) {
- // TCF event dispatch is shutdown
- return;
- }
- catch (Exception x) {
- if (socket != LocatorService.this.socket) continue;
- log("Cannot read from datagram socket at port " + socket.getLocalPort(), x);
+ try {
+ for (;;) {
+ DatagramSocket socket = LocatorService.this.socket;
+ try {
+ final DatagramPacket p = new DatagramPacket(inp_buf, inp_buf.length);
+ socket.receive(p);
+ Protocol.invokeAndWait(new Runnable() {
+ public void run() {
+ handleDatagramPacket(p);
+ }
+ });
+ }
+ catch (IllegalStateException x) {
+ // TCF event dispatch is shutdown
+ return;
+ }
+ catch (Exception x) {
+ if (socket != LocatorService.this.socket) continue;
+ log("Cannot read from datagram socket at port " + socket.getLocalPort(), x);
+ sleep(2000);
+ }
}
}
+ catch (Throwable x) {
+ log("Unhandled exception in socket reading thread", x);
+ }
}
};

Back to the top