diff options
author | Matthew Bauer <mjbauer95@gmail.com> | 2019-06-05T04·40-0400 |
---|---|---|
committer | Matthew Bauer <mjbauer95@gmail.com> | 2019-06-05T04·40-0400 |
commit | 4a3e96281d6b9ae3dbc20e638f389677df9a649e (patch) | |
tree | 27811a7870a8fe56b94f35ecb19c0d82e268deda /src | |
parent | fb0ad898ed0f1c8d5297f5dc1035b2e6ac7e3632 (diff) |
Handle SIGWINCH in main thread
For the SIGWINCH signal to be caught, it needs to be set in sigaction on the main thread. Previously, this was broken, and updateWindowSize was never being called. Tested on macOS 10.14.
Diffstat (limited to 'src')
-rw-r--r-- | src/libmain/shared.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/libmain/shared.cc b/src/libmain/shared.cc index 4ed34e54dc55..f2aeec9e1db5 100644 --- a/src/libmain/shared.cc +++ b/src/libmain/shared.cc @@ -125,6 +125,9 @@ void initNix() act.sa_handler = sigHandler; if (sigaction(SIGUSR1, &act, 0)) throw SysError("handling SIGUSR1"); + /* Make sure SIGWINCH is handled as well. */ + if (sigaction(SIGWINCH, &act, 0)) throw SysError("handling SIGWINCH"); + /* Register a SIGSEGV handler to detect stack overflows. */ detectStackOverflow(); |