summaryrefslogtreecommitdiff
path: root/readline/display.c
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2008-03-24 12:59:51 +0000
committerJan Kratochvil <jan.kratochvil@redhat.com>2008-03-24 12:59:51 +0000
commit87adec2ec1241052deb5cacb93b463c05176fafb (patch)
tree158e85804ce27d553574dabfce22c7c5c85c46a1 /readline/display.c
parent086a18414ad6c07d0ee79990a971fdc7387af7c1 (diff)
downloadbinutils-gdb-87adec2ec1241052deb5cacb93b463c05176fafb.tar.gz
PR gdb/544
* rltty.c (block_sigint, release_sigint): Rename to... (_rl_block_sigint, _rl_release_sigint): ...these and make them global. * rltty.h (_rl_block_sigint, _rl_release_sigint): New prototypes. * display.c (rl_redisplay): Wrap the function by the calls to _RL_BLOCK_SIGINT and _RL_RELEASE_SIGINT.
Diffstat (limited to 'readline/display.c')
-rw-r--r--readline/display.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/readline/display.c b/readline/display.c
index 08580987712..575b0ad0ea8 100644
--- a/readline/display.c
+++ b/readline/display.c
@@ -463,6 +463,10 @@ rl_redisplay ()
if (!readline_echoing_p)
return;
+ /* Signals are blocked through this function as the global data structures
+ could get corrupted upon modifications from an invoked signal handler. */
+ _rl_block_sigint ();
+
if (!rl_display_prompt)
rl_display_prompt = "";
@@ -1139,6 +1143,8 @@ rl_redisplay ()
else
visible_wrap_offset = wrap_offset;
}
+
+ _rl_release_sigint ();
}
/* PWP: update_line() is based on finding the middle difference of each