2011-05-26 Pedro Alves <pedro@codesourcery.com>
authorPedro Alves <palves@redhat.com>
Thu, 26 May 2011 18:11:33 +0000 (18:11 +0000)
committerPedro Alves <palves@redhat.com>
Thu, 26 May 2011 18:11:33 +0000 (18:11 +0000)
commit3223143295b5bb65ac7179ff1915b4546213dbd0
tree017cd22c5077173b0f44d85d4fa4f5a235f0c994
parent949dc678a8c8afcd2e71a37635922339a635ec3e
2011-05-26  Pedro Alves  <pedro@codesourcery.com>

gdb/
* record.c: Include event-loop.h, inf-loop.h.
(record_beneath_to_async): New global.
(tmp_to_async): New global.
(record_async_inferior_event_token): New global.
(record_open_1): Don't error out if async is enabled.
(record_open): Handle to_async.  Create an async event source in
the event loop.
(record_close): Delete the async event source.
(record_resumed): New global.
(record_execution_dir): New global.
(record_resume, record_core_resume): Set them.  Register the
target on the event loop.
(record_wait): Rename to ...
(record_wait_1): ... this.  Add more debug output.  Handle
TARGET_WNOHANG, and the target beneath returning
TARGET_WAITKIND_IGNORE.
(record_wait): Reimplement on top of record_wait_1.
(record_async_mask_value): New global.
(record_async, record_async_mask, record_can_async_p)
(record_is_async_p, record_execution_direction): New functions.
(init_record_ops, init_record_core_ops): Install new methods.
* infrun.c (fetch_inferior_event): Temporarily switch the global
execution direction to the direction the target was going.
(execution_direction): Change type to int.
* target.c (default_execution_direction): New function.
(update_current_target): Inherit and de_fault
to_execution_direction.
* target.h (struct target_ops) <to_execution_direction>: New
field.
(target_execution_direction): New macro.
* inferior.h (execution_direction): Change type to int.
gdb/ChangeLog
gdb/inferior.h
gdb/infrun.c
gdb/record.c
gdb/target.c
gdb/target.h