diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2014-01-09 21:08:11 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2014-01-09 21:08:11 -0800 |
commit | 439bd03e10053c088eac26da28c0a85be0c325a4 (patch) | |
tree | bfb2a5bd8e7a74ceb3db4fec8b4378d72aa441f3 /signal.h | |
parent | 0b86366870e0a1e45955881a2d3206175061271e (diff) | |
download | txr-439bd03e10053c088eac26da28c0a85be0c325a4.tar.gz txr-439bd03e10053c088eac26da28c0a85be0c325a4.tar.bz2 txr-439bd03e10053c088eac26da28c0a85be0c325a4.zip |
Long overdue MinGW port maintenance.
* Makefile: Use new EXE variable from config.mk.
* configure (exe, have_windows_h): New variables.
Handle situations with .exe suffix; on MiGW, the rm command
doesn't work on executables if the .exe suffix is not given.
New tests for localtime_r and gmtime_r.
* lib.c: Supply declarations which are missing on MinGW because
we use gcc -ansi, because MinGW doesn't follow established conventions
like -D_POSIX_SOURCE. Supply definitions for gmtime_r, localtime_r,
setenv and unsetenv.
* parser.l: Supply declarations which are missing on MinGW.
* signal.h (async_sig_enabled): Declare differently based on
HAVE_POSIX_SIGS.
Misspelled typedef fixed in the code for !HAVE_POSIX_SIGS
that has hitherto not been compiled.
(sig_mask): Wrap declaration in #ifdef HAVE_POSIX_SIGS because
it relies on sigset_t.
* stream.c: Supply declarations which are missing on MinGW.
Include <windows.h> if we have it.
(sleep): Define for Windows.
(statf): Handle missing st_blksize and st_blocks members in struct
stat.
(stream_init): Handle numerous missing S_* macros.
* utf8.c: Supply declarations which are missing on MinGW.
Diffstat (limited to 'signal.h')
-rw-r--r-- | signal.h | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -76,6 +76,7 @@ typedef struct { ((EJB).rv = (ARG), longjmp((EJB).jb, 1)) extern sigset_t sig_blocked_cache; +extern volatile sig_atomic_t async_sig_enabled; #else @@ -85,14 +86,13 @@ extern sigset_t sig_blocked_cache; #define sig_restore_enable do { } while (0); } while (0) #define sig_restore_disable do { } while (0); } while (0) -tyedef jmp_buf extended_jmp_buf; +typedef jmp_buf extended_jmp_buf; #define extended_setjmp(EJB) setjmp(EJB) #define extended_longjmp(EJB, ARG) longjmp(EJB, ARG) +extern int async_sig_enabled; #endif -extern volatile sig_atomic_t async_sig_enabled; - extern val sig_hup, sig_int, sig_quit, sig_ill, sig_trap, sig_abrt, sig_bus; extern val sig_fpe, sig_kill, sig_usr1, sig_segv, sig_usr2, sig_pipe, sig_alrm; extern val sig_term, sig_chld, sig_cont, sig_stop, sig_tstp, sig_ttin; @@ -104,4 +104,6 @@ void sig_init(void); val set_sig_handler(val signo, val lambda); val get_sig_handler(val signo); val sig_check(void); +#if HAVE_POSIX_SIGS int sig_mask(int how, const sigset_t *set, sigset_t *oldset); +#endif |