mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-03 04:12:10 +08:00
* ui-file.c (stdio_file_read): Call gdb_select before read.
This commit is contained in:
parent
f6838f8147
commit
ad960ed22e
@ -1,3 +1,7 @@
|
||||
2009-11-13 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* ui-file.c (stdio_file_read): Call gdb_select before read.
|
||||
|
||||
2009-11-13 Maciej W. Rozycki <macro@codesourcery.com>
|
||||
|
||||
* mips-tdep.c (mips_insn16_frame_this_id): Mark the outermost
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include "defs.h"
|
||||
#include "ui-file.h"
|
||||
#include "gdb_string.h"
|
||||
#include "gdb_select.h"
|
||||
|
||||
#include <errno.h>
|
||||
|
||||
@ -471,6 +472,19 @@ stdio_file_read (struct ui_file *file, char *buf, long length_buf)
|
||||
if (stdio->magic != &stdio_file_magic)
|
||||
internal_error (__FILE__, __LINE__,
|
||||
_("stdio_file_read: bad magic number"));
|
||||
|
||||
/* For the benefit of Windows, call gdb_select before reading from
|
||||
the file. Wait until at least one byte of data is available.
|
||||
Control-C can interrupt gdb_select, but not read. */
|
||||
{
|
||||
int fd = fileno (stdio->file);
|
||||
fd_set readfds;
|
||||
FD_ZERO (&readfds);
|
||||
FD_SET (fd, &readfds);
|
||||
if (gdb_select (fd + 1, &readfds, NULL, NULL, NULL) == -1)
|
||||
return -1;
|
||||
}
|
||||
|
||||
return read (fileno (stdio->file), buf, length_buf);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user