Move startup of the regular timer into ecRun so that it won't occur until

after initialisation and registration of the DO connection name.
This commit is contained in:
Richard Frith-Macdonald 2017-06-23 12:01:03 +01:00
parent 291b295089
commit e5a71bdc73
3 changed files with 9 additions and 9 deletions

View file

@ -7,7 +7,9 @@
Replace cmdArchive: with ecArchive: changing trhe log file archiving
model to archive files primarily based on their last modification
date. Fixes the bug where files were archived to a folder with the
wrong datre on startup, and simplifies archiving code generally.
wrong date on startup, and simplifies archiving code generally.
Move startup of timeouts to -ecRun so that they won't occur until
after all initialisation.
2017-03-06 Richard Frith-Macdonald <rfm@gnu.org>

View file

@ -817,7 +817,7 @@ extern NSString* cmdVersion(NSString *ver);
*/
- (void) setCmdDebug: (NSString*)mode withDescription: (NSString*)desc;
/* Sets the interval between timeouts.<br />
/** Sets the interval between timeouts while the runloop is running.<br />
* Any value below 0.001 is ignored and 10 is used.<br />
* Any value above 300 is ignored and 60 is used.<br />
* The default value is 60 seconds.
@ -829,9 +829,9 @@ extern NSString* cmdVersion(NSString *ver);
*/
- (void) setCmdTimeout: (SEL)sel;
/*
* Trigger a timeout to go off as soon as possible ... subsequent timeouts
* go off at the normal interval after that one.
/** Schedule a timeout to go off as soon as possible ... subsequent timeouts
* go off at the normal interval after that one.<br />
* This method is called automatically at the start of -ecRun.
*/
- (void) triggerCmdTimeout;

View file

@ -2480,6 +2480,8 @@ NSLog(@"Ignored attempt to set timer interval to %g ... using 10.0", interval);
[self cmdFlushLogs];
cmdIsRunning = YES;
[self triggerCmdTimeout]; /* make sure that regular timers run. */
loop = [NSRunLoop currentRunLoop];
future = [NSDate distantFuture];
while (YES == [EcProcConnection isValid])
@ -4340,10 +4342,6 @@ With two parameters ('maximum' and a number),\n\
}
}
/* And make sure that regular timers run.
*/
[self triggerCmdTimeout];
return self;
}