Ticket #1598: MakeAbortingMoreResponsive.2.patch
File MakeAbortingMoreResponsive.2.patch, 2.8 KB (added by , 13 years ago) |
---|
-
src/org/openstreetmap/josm/io/OsmServerWriter.java
226 226 throw new OsmTransferException(tr("Server does not support changesets")); 227 227 } 228 228 if (retCode != 200 && retCode != 412) { 229 230 229 if (retries >= 0) { 231 230 retries--; 232 System.out.print("backing off for 10 seconds..."); 233 Thread.sleep(10000); 231 if(sleepAndListen()) return false; 234 232 System.out.println("retrying ("+retries+" left)"); 235 233 return startChangeset(retries, comment); 236 234 } … … 331 329 } else if (retCode != 200 && retCode != 412) { 332 330 if (retries >= 0) { 333 331 retries--; 334 System.out.print("backing off for 10 seconds..."); 335 Thread.sleep(10000); 332 if(sleepAndListen()) return; 336 333 System.out.println("retrying ("+retries+" left)"); 337 334 stopChangeset(retries); 338 335 } else { … … 413 410 if (retCode != 200 && retCode != 412) { 414 411 if (retries >= 0) { 415 412 retries--; 416 System.out.print("backing off for 10 seconds..."); 417 Thread.sleep(10000); 413 if(sleepAndListen()) return; 418 414 System.out.println("retrying ("+retries+" left)"); 419 415 stopChangeset(retries); 420 416 } else { … … 456 452 throw new RuntimeException(e.getMessage()+ " " + e.getClass().getCanonicalName(), e); 457 453 } 458 454 } 455 456 private boolean sleepAndListen() { 457 System.out.print("backing off for 10 seconds..."); 458 for(int i=0; i < 10; i++) { 459 if(cancel || isAuthCancelled()) { 460 if(!cancel) cancel(); 461 return true; 462 } 463 try { 464 Thread.sleep(1000); 465 } catch (InterruptedException ex) {} 466 } 467 return false; 468 } 459 469 460 470 /** 461 471 * Upload a single node. … … 579 589 else if (retCode != 200) { 580 590 if (retries >= 0 && retCode != 412) { 581 591 retries--; 582 System.out.print("backing off for 10 seconds..."); 583 Thread.sleep(10000); 592 if(sleepAndListen()) return; 584 593 System.out.println("retrying ("+retries+" left)"); 585 594 sendRequestRetry(requestMethod, urlSuffix, osm, body, retries); 586 595 } else {