summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spells3.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/spells3.cc')
-rw-r--r--crawl-ref/source/spells3.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/crawl-ref/source/spells3.cc b/crawl-ref/source/spells3.cc
index 8740fae83d..56d2c079aa 100644
--- a/crawl-ref/source/spells3.cc
+++ b/crawl-ref/source/spells3.cc
@@ -1319,6 +1319,18 @@ static bool _teleport_player( bool allow_control, bool new_abyss_area )
show_map(pos, false);
redraw_screen();
+#if defined(USE_UNIX_SIGNALS) && defined(SIGHUP_SAVE) && defined(USE_CURSES)
+ // If we've received a HUP signal then the user can't choose a
+ // location, so cancel the teleport.
+ if (crawl_state.seen_hups)
+ {
+ mpr("Controlled teleport interrupted by HUP signal, "
+ "cancelling teleport.", MSGCH_ERROR);
+ you.turn_is_over = false;
+ return (false);
+ }
+#endif
+
#if DEBUG_DIAGNOSTICS
mprf(MSGCH_DIAGNOSTICS, "Target square (%d,%d)", pos.x, pos.y );
#endif