[Lldb-commits] [lldb] r177076 - Backout POSIX realtime lldb output. TestEvents.py is causing lldb to assert.

Matt Kopec Matt.Kopec at intel.com
Thu Mar 14 07:22:40 PDT 2013


Author: mkopec
Date: Thu Mar 14 09:22:40 2013
New Revision: 177076

URL: http://llvm.org/viewvc/llvm-project?rev=177076&view=rev
Log:
Backout POSIX realtime lldb output. TestEvents.py is causing lldb to assert.

Modified:
    lldb/trunk/source/Plugins/Process/POSIX/ProcessPOSIX.cpp
    lldb/trunk/source/Plugins/Process/POSIX/ProcessPOSIX.h

Modified: lldb/trunk/source/Plugins/Process/POSIX/ProcessPOSIX.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/POSIX/ProcessPOSIX.cpp?rev=177076&r1=177075&r2=177076&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/POSIX/ProcessPOSIX.cpp (original)
+++ lldb/trunk/source/Plugins/Process/POSIX/ProcessPOSIX.cpp Thu Mar 14 09:22:40 2013
@@ -206,8 +206,6 @@ ProcessPOSIX::DoLaunch (Module *module,
     if (!error.Success())
         return error;
 
-    SetSTDIOFileDescriptor(m_monitor->GetTerminalFD());
-
     SetID(m_monitor->GetPID());
     return error;
 }
@@ -279,6 +277,7 @@ ProcessPOSIX::DoHalt(bool &caused_stop)
     {
         caused_stop = true;
     }
+
     return error;
 }
 
@@ -585,6 +584,27 @@ ProcessPOSIX::PutSTDIN(const char *buf,
     return status;
 }
 
+size_t
+ProcessPOSIX::GetSTDOUT(char *buf, size_t len, Error &error)
+{
+    ssize_t bytes_read;
+
+    // The terminal file descriptor is always in non-block mode.
+    if ((bytes_read = read(m_monitor->GetTerminalFD(), buf, len)) < 0) 
+    {
+        if (errno != EAGAIN)
+            error.SetErrorToErrno();
+        return 0;
+    }
+    return bytes_read;
+}
+
+size_t
+ProcessPOSIX::GetSTDERR(char *buf, size_t len, Error &error)
+{
+    return GetSTDOUT(buf, len, error);
+}
+
 UnixSignals &
 ProcessPOSIX::GetUnixSignals()
 {

Modified: lldb/trunk/source/Plugins/Process/POSIX/ProcessPOSIX.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/POSIX/ProcessPOSIX.h?rev=177076&r1=177075&r2=177076&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/POSIX/ProcessPOSIX.h (original)
+++ lldb/trunk/source/Plugins/Process/POSIX/ProcessPOSIX.h Thu Mar 14 09:22:40 2013
@@ -124,6 +124,12 @@ public:
     virtual size_t
     PutSTDIN(const char *buf, size_t len, lldb_private::Error &error);
 
+    virtual size_t
+    GetSTDOUT(char *buf, size_t len, lldb_private::Error &error);
+
+    virtual size_t
+    GetSTDERR(char *buf, size_t len, lldb_private::Error &error);
+
     //--------------------------------------------------------------------------
     // ProcessPOSIX internal API.
 





More information about the lldb-commits mailing list