History log of /external/lldb/tools/driver/IOChannel.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e09196066b61294d30c56ca86d8443bd3078a2f5 07-May-2013 Enrico Granata <egranata@apple.com> <rdar://problem/13063912>

If the user pressed ^D, that would bypass the exit confirmation mechanism
This checkin remedies that by making sure that users get prompted on exit when appropriate even if they use CTRL+D instead of typing quit at the prompt



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181257 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
2eaca13a907b3c2ce41602b646d073851dc696eb 22-Feb-2013 Jim Ingham <jingham@apple.com> Call el_resize when the window size changes.

<rdar://problem/13270100>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175926 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
b9db9d5bb01963774f28540dbe2c5a11f586ff29 07-Dec-2012 Daniel Malea <daniel.malea@intel.com> Fix a few more clang (3.2) warnings on Linux:
- remove unused members
- add NO_PEDANTIC to selected Makefiles
- fix return values (removed NULL as needed)
- disable warning about four-char-constants
- remove unneeded const from operator*() declaration
- add missing lambda function return types
- fix printf() with no format string
- change sizeof to use a type name instead of variable name
- fix Linux ProcessMonitor.cpp to be 32/64 bit friendly
- disable warnings emitted by swig-generated C++ code

Patch by Matt Kopec!



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169645 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
c2bc7944f7c2f10114426f447259a35acb0b1e18 16-Oct-2012 Enrico Granata <egranata@apple.com> <rdar://problem/12446320> Fixing an issue with our Driver where setting an immediate output would not cause suppression of the final printout. This allows effective output redirection for Python commands

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166058 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
5d90ade8e8e0d776fe8e1b9e88fc1c86d02e8e4e 28-Jul-2012 Jim Ingham <jingham@apple.com> Added an lldb_private & equivalent SB API to send an AsyncInterrupt to the event loop.
Convert from calling Halt in the lldb Driver.cpp's input reader's sigint handler to sending this AsyncInterrupt so it can be handled in the
event loop.
If you are attaching and get an async interrupt, abort the attach attempt.
Also remember to destroy the process if get interrupted while attaching.
Getting this to work also required handing the eBroadcastBitInterrupt in a few more places in Process WaitForEvent & friends.

<rdar://problem/10792425>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
2a4e9af22db482a276a109af57b23a95d0f38ddf 12-Jul-2012 Sean Callanan <scallanan@apple.com> Added an editline fix to make the delete key act
as expected on Mac OS X.

<rdar://problem/11813365>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
bab9b647fad841cf7c301f0bd8b1da3c0e72bfa2 01-Jun-2012 Jim Ingham <jingham@apple.com> Add an API to determine whether there are any characters on the current input line.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157789 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
8ab2c22f22bd5ff09c98441f148406e0a890084e 09-May-2012 Johnny Chen <johnny.chen@apple.com> Make ctrl-c terminate the current input line and start an empty line, instead of the previous content.

rdar://problem/11412821


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156510 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
3bbbdc3c3ca4d449e9033a6e8c1686b8b6ed0769 07-May-2012 Johnny Chen <johnny.chen@apple.com> Move the el_source() call after the section of code which sets up the default "ctrl-r" and "ctrl-w" bindings
so that user-provided .editrc has a chance to override the lldb's default key bindings.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
abd370a4be26a5fc288ca090e80b12c1bc14ac8b 05-May-2012 Johnny Chen <johnny.chen@apple.com> Jason Molenda convinced me that we should make ctrl-w on the command line bind to ed-delete-prev-word.
If you have ctrl-w key binding specified with your .editrc file, it will be overridden with ed-delete-prev-word. :-)


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156230 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
bedc667c905c55de911d8b9195039d82e6cf0121 12-Aug-2011 Jason Molenda <jmolenda@apple.com> Fixes the occasional crash on exit when quitting lldb with control-D.

If the IOChannel has already freed out its m_driver member, and
there's still a character to be read/written (that is, the ^D
character), just skip that char instead of trying to write through
a null object pointer.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
ee6e790171b9a04023d0ea22603f0ac0ecb9a2c6 11-Aug-2011 Johnny Chen <johnny.chen@apple.com> Incremental fixes of issues found by Xcode static analyzer.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137257 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
6247dbee41ec51e9a082df7e86269c0f47f28160 12-Jul-2011 Jim Ingham <jingham@apple.com> Added "command history" command to dump the command history.
Also made:
(lldb) !<NUM>
(lldb) !-<NUM>
(lldb) !!

work with the history. For added benefit:

(lldb) !<NUM><TAB>

will insert the command at position <NUM> in the history into the command line to be edited.

This is only partial, I still need to sync up editline's history list with the one kept by the interpreter.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134955 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
b38df1e945846a5d956974ec157902a6ad748868 10-May-2011 Caroline Tice <ctice@apple.com> Make sure writing asynchronous output only backs up
& overwrites prompt if the IOChannel input reader is the top
input reader.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
882c554207e94f66ba8d652302a9d817f275dc4e 04-May-2011 Caroline Tice <ctice@apple.com> Add ability to search backwards through command
history for a particular substring, using ctrl-r key.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130871 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
c5f0b99c2c2e40dca22cf11208da70ae979a37e8 04-May-2011 Caroline Tice <ctice@apple.com> Minor cleanup: When asynchronous output comes along,
back up over and delete the prompt before writing out the
asynchronous output, rather than just going to a new line.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130843 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
388ca8fef002edf49d66126efa8f4dff7176edc1 03-May-2011 Caroline Tice <ctice@apple.com> Make the driver listen for asynchronous output, rather than
the IOChannel, so that it can be written out even while the
IOChannel is collecting user input.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130789 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
4a348081030cdd2af758fddc869518357d9befd3 02-May-2011 Caroline Tice <ctice@apple.com> This patch captures and serializes all output being written by the
command line driver, including the lldb prompt being output by
editline, the asynchronous process output & error messages, and
asynchronous messages written by target stop-hooks.

As part of this it introduces a new Stream class,
StreamAsynchronousIO. A StreamAsynchronousIO object is created with a
broadcaster, who will eventually broadcast the stream's data for a
listener to handle, and an event type indicating what type of event
the broadcaster will broadcast. When the Write method is called on a
StreamAsynchronousIO object, the data is appended to an internal
string. When the Flush method is called on a StreamAsynchronousIO
object, it broadcasts it's data string and clears the string.

Anything in lldb-core that needs to generate asynchronous output for
the end-user should use the StreamAsynchronousIO objects.

I have also added a new notification type for InputReaders, to let
them know that a asynchronous output has been written. This is to
allow the input readers to, for example, refresh their prompts and
lines, if desired. I added the case statements to all the input
readers to catch this notification, but I haven't added any code for
handling them yet (except to the IOChannel input reader).



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
09c81efd010d1c9ac8821bad00cdfc9747fcae79 08-Feb-2011 Greg Clayton <gclayton@apple.com> Patch that allows for thread_t to be something more complex than an
integer. Modified patch from Kirk Beitz.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125067 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
c4f55fee15b66ea53da092ca50400ac5d8b0692d 19-Nov-2010 Caroline Tice <ctice@apple.com> Add the ability to catch and do the right thing with Interrupts (often control-c)
and end-of-file (often control-d).



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@119837 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
757500e29b7856823f2f4aedd30f206ec009147e 29-Sep-2010 Caroline Tice <ctice@apple.com> Fix various timing/threading problems in IOChannel & Driver that
were causing the prompt to be stomped on, mangled or omitted occasionally.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@115059 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
4ead2e9a5a74f465d00b0301c165fbebf4ee4ff3 28-Aug-2010 Johnny Chen <johnny.chen@apple.com> o Exposed SBFileSpec to the Python APIs in lldb.py.

o Fixed a crasher when getting it via SBTarget.GetExecutable().

>>> filespec = target.GetExecutable()
Segmentation fault

o And renamed SBFileSpec::GetFileName() to GetFilename() to be consistent with FileSpec::GetFilename().



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112308 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
bef1583b89e73de77c8b0897fcf42b5b1fcabe4c 14-Jul-2010 Greg Clayton <gclayton@apple.com> I enabled some extra warnings for hidden local variables and for hidden
virtual functions and caught some things and did some general code cleanup.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@108299 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
0a164a1664bce107a4049b838485863320c8292a 10-Jul-2010 Eli Friedman <eli.friedman@gmail.com> Misc warning fixes.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@108029 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
54e7afa84d945f9137f9372ecde432f9e1a702fc 09-Jul-2010 Greg Clayton <gclayton@apple.com> Merged Eli Friedman's linux build changes where he added Makefile files that
enabled LLVM make style building and made this compile LLDB on Mac OS X. We
can now iterate on this to make the build work on both linux and macosx.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@108009 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
63094e0bb161580564954dee512955c1c79d3476 23-Jun-2010 Greg Clayton <gclayton@apple.com> Very large changes that were needed in order to allow multiple connections
to the debugger from GUI windows. Previously there was one global debugger
instance that could be accessed that had its own command interpreter and
current state (current target/process/thread/frame). When a GUI debugger
was attached, if it opened more than one window that each had a console
window, there were issues where the last one to setup the global debugger
object won and got control of the debugger.

To avoid this we now create instances of the lldb_private::Debugger that each
has its own state:
- target list for targets the debugger instance owns
- current process/thread/frame
- its own command interpreter
- its own input, output and error file handles to avoid conflicts
- its own input reader stack

So now clients should call:

SBDebugger::Initialize(); // (static function)

SBDebugger debugger (SBDebugger::Create());
// Use which ever file handles you wish
debugger.SetErrorFileHandle (stderr, false);
debugger.SetOutputFileHandle (stdout, false);
debugger.SetInputFileHandle (stdin, true);

// main loop

SBDebugger::Terminate(); // (static function)

SBDebugger::Initialize() and SBDebugger::Terminate() are ref counted to
ensure nothing gets destroyed too early when multiple clients might be
attached.

Cleaned up the command interpreter and the CommandObject and all subclasses
to take more appropriate arguments.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@106615 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
d6e167d0fe8666347554226424bb39e36686e0d6 09-Jun-2010 Eli Friedman <eli.friedman@gmail.com> Add a few more missing includes.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@105743 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
f2f321d826c21c674ca5787b18e8b3e0edaa214b 09-Jun-2010 Eli Friedman <eli.friedman@gmail.com> Misc minor warning/error fixes.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@105720 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp
24943d2ee8bfaa7cf5893e4709143924157a5c1e 08-Jun-2010 Chris Lattner <sabre@nondot.org> Initial checkin of lldb code from internal Apple repo.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@105619 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/tools/driver/IOChannel.cpp