summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>2015-12-31 11:17:35 +0900
committerYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>2015-12-31 11:17:35 +0900
commit6ee327d8a10047c1717358cc179ed8d1fb3389eb (patch)
tree7ba3a2406a7faafe06637a6823bb239d8ca782e9
parent47580e0d72f53c2fff23cb8edf1487da76e87744 (diff)
Add handle_user_signal_hook
* src/keyboard.h (handle_user_signal_hook): New declaration. * src/keyboard.c (handle_user_signal_hook): New variable. (handle_user_signal): Call it.
-rw-r--r--src/keyboard.c5
-rw-r--r--src/keyboard.h2
2 files changed, 7 insertions, 0 deletions
diff --git a/src/keyboard.c b/src/keyboard.c
index 9ebd86b535..b0fe328dbd 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -7124,6 +7124,9 @@ struct user_signal_info
/* List of user signals. */
static struct user_signal_info *user_signals = NULL;
+/* Function called when handling user signals. */
+void (*handle_user_signal_hook) (int);
+
void
add_user_signal (int sig, const char *name)
{
@@ -7172,6 +7175,8 @@ handle_user_signal (int sig)
}
p->npending++;
+ if (handle_user_signal_hook)
+ (*handle_user_signal_hook) (sig);
#ifdef USABLE_SIGIO
if (interrupt_input)
handle_input_available_signal (sig);
diff --git a/src/keyboard.h b/src/keyboard.h
index 890d24eb2d..4558bd6141 100644
--- a/src/keyboard.h
+++ b/src/keyboard.h
@@ -415,6 +415,8 @@ extern void unuse_menu_items (void);
#define EVENT_HEAD_KIND(event_head) \
(Fget ((event_head), Qevent_kind))
+extern void (*handle_user_signal_hook) (int);
+
/* True while doing kbd input. */
extern bool waiting_for_input;