Changeset 1395 in josm for trunk/src


Ignore:
Timestamp:
2009-02-14T12:13:31+01:00 (16 years ago)
Author:
stoecker
Message:

fix #1598. Patch by xeen

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/io/OsmServerWriter.java

    r1338 r1395  
    227227            }
    228228            if (retCode != 200 && retCode != 412) {
    229 
    230229                if (retries >= 0) {
    231230                    retries--;
    232                     System.out.print("backing off for 10 seconds...");
    233                     Thread.sleep(10000);
     231                    if(sleepAndListen()) return false;
    234232                    System.out.println("retrying ("+retries+" left)");
    235233                    return startChangeset(retries, comment);
     
    332330                if (retries >= 0) {
    333331                    retries--;
    334                     System.out.print("backing off for 10 seconds...");
    335                     Thread.sleep(10000);
     332                    if(sleepAndListen()) return;
    336333                    System.out.println("retrying ("+retries+" left)");
    337334                    stopChangeset(retries);
     
    414411                if (retries >= 0) {
    415412                    retries--;
    416                     System.out.print("backing off for 10 seconds...");
    417                     Thread.sleep(10000);
     413                    if(sleepAndListen()) return;
    418414                    System.out.println("retrying ("+retries+" left)");
    419415                    stopChangeset(retries);
     
    456452            throw new RuntimeException(e.getMessage()+ " " + e.getClass().getCanonicalName(), e);
    457453        }
     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;
    458468    }
    459469
     
    580590                if (retries >= 0 && retCode != 412)    {
    581591                    retries--;
    582                     System.out.print("backing off for 10 seconds...");
    583                     Thread.sleep(10000);
     592                    if(sleepAndListen()) return;
    584593                    System.out.println("retrying ("+retries+" left)");
    585594                    sendRequestRetry(requestMethod, urlSuffix, osm, body, retries);
Note: See TracChangeset for help on using the changeset viewer.