summaryrefslogtreecommitdiffstats
path: root/lldb/tools/driver/IOChannel.h
Commit message (Collapse)AuthorAgeFilesLines
* Merging the iohandler branch back into main. Greg Clayton2014-01-271-154/+0
| | | | | | | | | | | | The many many benefits include: 1 - Input/Output/Error streams are now handled as real streams not a push style input 2 - auto completion in python embedded interpreter 3 - multi-line input for "script" and "expression" commands now allow you to edit previous/next lines using up and down arrow keys and this makes multi-line input actually a viable thing to use 4 - it is now possible to use curses to drive LLDB (please try the "gui" command) We will need to deal with and fix any buildbot failures and tests and arise now that input/output and error are correctly hooked up in all cases. llvm-svn: 200263
* Patch enabling lldb command line driver to run on windows.Deepak Panickal2013-10-151-31/+8
| | | | | | | | | | | | | | | CHANGES: - Thread locking switched from pthreads to C++11 standard library. - Abstracted platform specific header includes into 'platform.h'. - Create editline emulator for windows. - Emulated various platform dependant functions on windows. TODO: - User input currently handled by gets_s(), work started on better handler: see _WIP_INPUT_METHOD define blocks in 'ELWrapper.cpp'. Aim is to handle 'tab' auto completion on windows. - Tidy up 'getopt.inc' from lldbHostCommon to serve as LLDB Drivers getopt windows implementation. llvm-svn: 192714
* Fixed a race condition where the prompt would randomly go missing.Richard Mitton2013-09-251-1/+4
| | | | | | | | | | el_gets was using fflush to output it's string, but because we have our own filter running on the piped pty output, fflush only causes the prompt to be written into the pipe, and does not cause the filter code to run immediately. The simplest fix is to manually block and wait for all editline output to be processed. This fixes PR 14637. llvm-svn: 191392
* editline headers are under readline/ for NetBSD.Joerg Sonnenberger2013-09-251-1/+1
| | | | llvm-svn: 191389
* Revert part of my previous patch, we should be using libedit underEric Christopher2013-09-031-1/+1
| | | | | | linux for command line editing. llvm-svn: 189820
* Fix a bunch of compile time warnings and a build failure on ubuntu.Eric Christopher2013-08-301-1/+1
| | | | llvm-svn: 189683
* <rdar://problem/13063912>Enrico Granata2013-05-061-1/+10
| | | | | | | 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 llvm-svn: 181257
* Call el_resize when the window size changes.Jim Ingham2013-02-221-0/+3
| | | | | | <rdar://problem/13270100> llvm-svn: 175926
* Add an API to determine whether there are any characters on the current ↵Jim Ingham2012-06-011-0/+3
| | | | | | input line. llvm-svn: 157789
* Make ctrl-c terminate the current input line and start an empty line, ↵Johnny Chen2012-05-091-0/+3
| | | | | | | | instead of the previous content. rdar://problem/11412821 llvm-svn: 156510
* Patch by David Forsythe to build lldb on FreeBSD!Johnny Chen2011-08-021-0/+4
| | | | | | | | | | | | | | | | | | I did not take the patch for ClangExpressionParser.cpp since there was a recent change by Peter for the same line. Feel free to disagree. :-) Reference: ---------------------------------------------------------------------- r136580 | pcc | 2011-07-30 15:42:24 -0700 (Sat, 30 Jul 2011) | 3 lines Add reloc arg to standard JIT createJIT() Fixes non-__APPLE__ build. Patch by Matt Johnson! ---------------------------------------------------------------------- Also, I ignore the part of the patch to remove the RegisterContextDarwin*.h/.cpp. llvm-svn: 136720
* Make the driver listen for asynchronous output, rather thanCaroline Tice2011-05-031-0/+1
| | | | | | | the IOChannel, so that it can be written out even while the IOChannel is collecting user input. llvm-svn: 130789
* This patch captures and serializes all output being written by theCaroline Tice2011-05-021-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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). llvm-svn: 130721
* Fix various timing/threading problems in IOChannel & Driver thatCaroline Tice2010-09-291-0/+34
| | | | | | were causing the prompt to be stomped on, mangled or omitted occasionally. llvm-svn: 115059
* Merged Eli Friedman's linux build changes where he added Makefile files thatGreg Clayton2010-07-091-2/+6
| | | | | | | 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. llvm-svn: 108009
* Initial checkin of lldb code from internal Apple repo.Chris Lattner2010-06-081-0/+113
llvm-svn: 105619
OpenPOWER on IntegriCloud