Fixed an error in Debugger::UpdateExecutionContext() where an invalid index ID 0
was used to set the selected thread if none was selected.  Use a more robust
API to accomplish the task.

Also fixed an error found, while investigating, in CommandObjectThreadSelect::
Execute() where the return status was not properly set if successful.

As a result, both the stl step-in test cases with expectedFailure decorators now
passed.

llvm-svn: 113825
diff --git a/lldb/source/Commands/CommandObjectThread.cpp b/lldb/source/Commands/CommandObjectThread.cpp
index 7532886..b7af449 100644
--- a/lldb/source/Commands/CommandObjectThread.cpp
+++ b/lldb/source/Commands/CommandObjectThread.cpp
@@ -1280,6 +1280,7 @@
         }
 
         process->GetThreadList().SetSelectedThreadByID(new_thread->GetID());
+        result.SetStatus (eReturnStatusSuccessFinishNoResult);
         
         DisplayThreadInfo (interpreter,
                            result.GetOutputStream(),