public ITimeoutHandle SetTimeout(Action action, int timeoutMilliseconds) { lock (timeoutMutex) { var timeout = new TimeoutCallbackHandle(action, timeoutMilliseconds); this.timeouts.Add(timeout); return(timeout); } }
public ITimeoutHandle SetTimeout(Action action, int timeoutMilliseconds) { this.Start(); // ensure kernel is started if it isnt. lock (timeoutMutex) { var timeout = new TimeoutCallbackHandle(action, timeoutMilliseconds); this.timeouts.Add(timeout); return(timeout); } }
public ITimeoutHandle SetTimeout(Action action, int timeoutMilliseconds) { lock (mutex) { if (!this.started) { Start(); } } lock (timeoutMutex) { var timeout = new TimeoutCallbackHandle(action, timeoutMilliseconds); this.timeouts.Add(timeout); this.timeouts = this.timeouts.OrderBy(x => x.Timeout).ToList(); return(timeout); } }