platform/shared/rubyJVM/src/com/rho/sync/SyncThread.java in rhodes-2.0.0.beta2 vs platform/shared/rubyJVM/src/com/rho/sync/SyncThread.java in rhodes-2.0.0.beta3
- old
+ new
@@ -662,11 +662,19 @@
});
klass.getSingletonClass().defineMethod("set_syncserver",
new RubyOneArgMethod() {
protected RubyValue run(RubyValue receiver, RubyValue arg1, RubyBlock block) {
try{
- String url = arg1.toStr();
- getSyncEngine().setSyncServer(url);
+ String syncserver = arg1.toStr();
+
+ stopSync();
+ getSyncEngine().setSyncServer(syncserver);
+
+ if ( syncserver != null && syncserver.length() > 0 )
+ SyncThread.getInstance().start(SyncThread.epLow);
+ else
+ SyncThread.getInstance().stop(SYNC_WAIT_BEFOREKILL_SECONDS);
+
}catch(Exception e)
{
LOG.ERROR("set_syncserver failed", e);
throw (e instanceof RubyException ? (RubyException)e : new RubyException(e.getMessage()));
}