diff --git a/Makefile.am b/Makefile.am index 6d63cf37..f5c7d431 100644 --- a/Makefile.am +++ b/Makefile.am @@ -97,7 +97,8 @@ libkmscon_core_la_LIBADD = \ $(FREETYPE2_LIBS) \ $(XPROTO_LIBS) \ $(XKBCOMMON_LIBS) \ - $(GLIB_LIBS) + $(GLIB_LIBS) \ + -lpthread kmscon_SOURCES = src/main.c kmscon_LDADD = libkmscon-core.la diff --git a/src/eloop.c b/src/eloop.c index 239c6d59..f0bae2bb 100644 --- a/src/eloop.c +++ b/src/eloop.c @@ -32,6 +32,7 @@ */ #include +#include #include #include #include @@ -540,7 +541,7 @@ int ev_eloop_add_signal(struct ev_eloop *loop, struct ev_signal *sig, return ret; } - sigprocmask(SIG_BLOCK, &mask, NULL); + pthread_sigmask(SIG_BLOCK, &mask, NULL); sig->cb = cb; sig->data = data; ev_signal_ref(sig); @@ -617,7 +618,7 @@ static int signal_new(struct ev_signal_shared **out, struct ev_eloop *loop, if (ret) goto err_sig; - sigprocmask(SIG_BLOCK, &mask, NULL); + pthread_sigmask(SIG_BLOCK, &mask, NULL); sig->next = loop->sig_list; loop->sig_list = sig; diff --git a/src/pty.c b/src/pty.c index 7c592e64..0888f386 100644 --- a/src/pty.c +++ b/src/pty.c @@ -25,6 +25,7 @@ #include #include +#include #include #include #include @@ -131,7 +132,7 @@ static int setup_child(int master, struct winsize *ws) /* The child should not inherit our signal mask. */ sigemptyset(&sigset); - ret = sigprocmask(SIG_SETMASK, &sigset, NULL); + ret = pthread_sigmask(SIG_SETMASK, &sigset, NULL); if (ret) log_warn("cannot reset blocked signals: %m");