public result rebootAndStartReadingBIOSConfiguration(hostStateManager_core parent, string nodeIp, ManualResetEvent signalOnStart) { lock (_threads) { if (_threads.ContainsKey(nodeIp)) { if (!_threads[nodeIp].isFinished) { throw new Exception("Blade " + nodeIp + " has not yet finished a previous operation"); } _threads.Remove(nodeIp); } mockedBiosThreadParams newParams = new mockedBiosThreadParams { isFinished = false, nodeIP = nodeIp, db = parent.db, deadline = DateTime.Now + biosOperationTime, signalOnStart = signalOnStart }; _threads.Add(nodeIp, newParams); Thread newThread = new Thread(mockedBiosThread) { Name = "Mocked BIOS deployment thread" }; newThread.Start(newParams); return(new result(resultCode.success)); } }
public result rebootAndStartWritingBIOSConfiguration(hostStateManager_core hostManager, string bladeIP, string biosXML, ManualResetEvent signalOnStartComplete) { _hostManager = hostManager; return(rebootAndStartPerformingBIOSOperation(bladeIP, biosXML, setBIOS, signalOnStartComplete)); }