blob: 080ad45c5a815e2f416e0919d77da5ae08ae3627 [file]
/*
* Copyright 2021 The Emscripten Authors. All rights reserved.
* Emscripten is available under two separate licenses, the MIT license and the
* University of Illinois/NCSA Open Source License. Both these licenses can be
* found in the LICENSE file.
*/
#include <stdio.h>
#include <signal.h>
#include <errno.h>
#include "libc.h"
struct sigaction __sig_actions[_NSIG];
int __sigaction(int sig, const struct sigaction *restrict sa, struct sigaction *restrict old) {
if (sig < 0 || sig >= _NSIG) {
errno = EINVAL;
return -1;
}
if (old) {
*old = __sig_actions[sig];
}
if (sa) {
__sig_actions[sig] = *sa;
}
return 0;
}
weak_alias(__sigaction, sigaction);