From 3223143295b5bb65ac7179ff1915b4546213dbd0 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Thu, 26 May 2011 18:11:33 +0000 Subject: 2011-05-26 Pedro Alves 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) : New field. (target_execution_direction): New macro. * inferior.h (execution_direction): Change type to int. --- gdb/inferior.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gdb/inferior.h') diff --git a/gdb/inferior.h b/gdb/inferior.h index ae2363d..9949136 100644 --- a/gdb/inferior.h +++ b/gdb/inferior.h @@ -356,7 +356,10 @@ enum exec_direction_kind EXEC_ERROR }; -extern enum exec_direction_kind execution_direction; +/* The current execution direction. This should only be set to enum + exec_direction_kind values. It is only an int to make it + compatible with make_cleanup_restore_integer. */ +extern int execution_direction; /* Save register contents here when executing a "finish" command or are about to pop a stack dummy frame, if-and-only-if proceed_to_finish is set. -- cgit v1.1