janneke pushed a commit to branch wip-mingw in repository guile. commit f1d246025225b93af102b26b8f8aae6bf7aa63b2 Author: Jan (janneke) Nieuwenhuizen <jann...@gnu.org> AuthorDate: Sat Mar 21 13:06:56 2020 +0100
Add `scm_sigaction_for_thread' stub for MinGW. * libguile/scmsigs.c (scm_sigaction_for_thread)[__MINGW32__]: New stub. --- libguile/posix.c | 3 ++- libguile/scmsigs.c | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/libguile/posix.c b/libguile/posix.c index eaf12de..b6a0711 100644 --- a/libguile/posix.c +++ b/libguile/posix.c @@ -61,7 +61,8 @@ #ifdef __MINGW32__ # include "posix-w32.h" -#endif +#define SIGPIPE 13 +#endif /* __MINGW32__ */ #include "async.h" #include "bitvectors.h" diff --git a/libguile/scmsigs.c b/libguile/scmsigs.c index d1daf04..0a33ed6 100644 --- a/libguile/scmsigs.c +++ b/libguile/scmsigs.c @@ -291,6 +291,29 @@ scm_sigaction (SCM signum, SCM handler, SCM flags) return scm_sigaction_for_thread (signum, handler, flags, SCM_UNDEFINED); } +#if __MINGW32__ + +int _mingw_debug_p (); + +SCM_DEFINE (scm_sigaction_for_thread, "sigaction", 1, 3, 0, + (SCM signum, SCM handler, SCM flags, SCM thread), + "sigaction stub") +#define FUNC_NAME s_scm_sigaction_for_thread +{ + static int stub = 0; + (void) signum; + (void) handler; + (void) flags; + (void) thread; + if (_mingw_debug_p () && !stub) + fputs ("stub: sigaction", stderr); + stub = 1; + return SCM_UNSPECIFIED; +} +#undef FUNC_NAME + +#else /* !__MINGW32__ */ + /* user interface for installation of signal handlers. */ SCM_DEFINE (scm_sigaction_for_thread, "sigaction", 1, 3, 0, (SCM signum, SCM handler, SCM flags, SCM thread), @@ -486,6 +509,8 @@ SCM_DEFINE (scm_sigaction_for_thread, "sigaction", 1, 3, 0, } #undef FUNC_NAME +#endif /* !__MINGW32__ */ + SCM_DEFINE (scm_restore_signals, "restore-signals", 0, 0, 0, (void), "Return all signal handlers to the values they had before any call to\n"