# HG changeset patch # User cin # Date 1423430893 -10800 # Node ID 6c49d02a9a05d095acfc359a957b7efebb3cc8c5 # Parent 5fb2bbffdeceb6a4ae0492660dc330218f006cb9 sync diff -r 5fb2bbffdece -r 6c49d02a9a05 Implab/Diagnostics/ConsoleTraceListener.cs --- a/Implab/Diagnostics/ConsoleTraceListener.cs Sat Feb 07 19:41:31 2015 +0300 +++ b/Implab/Diagnostics/ConsoleTraceListener.cs Mon Feb 09 00:28:13 2015 +0300 @@ -23,10 +23,10 @@ for (int i = 0; i < text.indent; i++) msg.Append(" "); - msg.AppendFormat("[{0}]:{1}: {2}", args.ThreadId, channel, text.content); + msg.AppendFormat("[{0}]: {1}", args.ThreadId, text.content); lock (_consoleLock) { - //Console.ForegroundColor = (ConsoleColor)(args.ThreadId % 15 + 1); + Console.ForegroundColor = (ConsoleColor)(args.ThreadId % 15 + 1); Console.WriteLine(msg); } } diff -r 5fb2bbffdece -r 6c49d02a9a05 Implab/Diagnostics/TraceContext.cs --- a/Implab/Diagnostics/TraceContext.cs Sat Feb 07 19:41:31 2015 +0300 +++ b/Implab/Diagnostics/TraceContext.cs Mon Feb 09 00:28:13 2015 +0300 @@ -41,10 +41,10 @@ } public void EnterLogicalOperation(LogicalOperation operation, bool takeOwnership) { - var prev = CurrentOperation; + //var prev = CurrentOperation; m_stack.Push(m_current); m_current = new OperationContext(operation, takeOwnership); - LogChannel.Default.LogEvent(new TraceEvent(takeOwnership ? TraceEventType.Attach : TraceEventType.Enter, String.Format("{0} -> {1}",prev.Name, operation.Name))); + //LogChannel.Default.LogEvent(new TraceEvent(takeOwnership ? TraceEventType.Attach : TraceEventType.Enter, String.Format("{0} -> {1}",prev.Name, operation.Name))); } public void StartLogicalOperation(string name) { @@ -63,16 +63,16 @@ public LogicalOperation DetachLogicalOperation() { var prev = m_current.DetachLogicalOperation(); - LogChannel.Default.LogEvent(new TraceEvent(TraceEventType.Detach, String.Format("{0} -> {1}",prev.Name, CurrentOperation.Name))); + //LogChannel.Default.LogEvent(new TraceEvent(TraceEventType.Detach, String.Format("{0} -> {1}",prev.Name, CurrentOperation.Name))); return prev; } public void Leave() { if (m_stack.Count > 0) { m_current.Leave(); - var prev = CurrentOperation; + //var prev = CurrentOperation; m_current = m_stack.Pop(); - LogChannel.Default.LogEvent(new TraceEvent(TraceEventType.Leave, String.Format("{0} -> {1}", prev.Name, CurrentOperation.Name))); + //LogChannel.Default.LogEvent(new TraceEvent(TraceEventType.Leave, String.Format("{0} -> {1}", prev.Name, CurrentOperation.Name))); } else { TraceLog.TraceWarning("Attempt to leave the last operation context"); m_current = OperationContext.EMPTY; diff -r 5fb2bbffdece -r 6c49d02a9a05 Implab/Diagnostics/TraceEvent.cs --- a/Implab/Diagnostics/TraceEvent.cs Sat Feb 07 19:41:31 2015 +0300 +++ b/Implab/Diagnostics/TraceEvent.cs Mon Feb 09 00:28:13 2015 +0300 @@ -18,7 +18,8 @@ } public override string ToString() { - return EventType == TraceEventType.Information ? Message : String.Format("{0}: {1}", EventType, Message); + /*return EventType == TraceEventType.Information ? Message : String.Format("{0}: {1}", EventType, Message);*/ + return Message; } public static TraceEvent Create(TraceEventType type, string format, params object[] args) { diff -r 5fb2bbffdece -r 6c49d02a9a05 Implab/Safe.cs --- a/Implab/Safe.cs Sat Feb 07 19:41:31 2015 +0300 +++ b/Implab/Safe.cs Mon Feb 09 00:28:13 2015 +0300 @@ -89,15 +89,19 @@ public static IPromise InvokePromise(Func action) { ArgumentNotNull(action, "action"); - var p = new Promise(); try { - action(); - p.Resolve(); + var p = action(); + if (p == null) { + var d = new Promise(); + d.Reject(new Exception("The action returned null")); + p = d; + } + return p; } catch (Exception err) { + var p = new Promise(); p.Reject(err); + return p; } - - return p; } [DebuggerStepThrough]