+
+int raise(int signal)
+{
+ if( signal < 0 || signal > NUM_SIGNALS )
+ return 1;
+ switch(signal)
+ {
+ case SIGABRT:
+ abort();
+ break;
+ }
+ return 0;
+}
+
+void abort(void)
+{
+ // raise(SIGABRT);
+ _SysDebug("abort() - %p", __builtin_return_address(0));
+ _exit(-1);
+}
+
+// POSIX
+int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact)
+{
+ if( signum < 0 || signum >= NUM_SIGNALS ) {
+ errno = EINVAL;
+ return 1;
+ }
+
+ if( oldact )
+ *oldact = sighandlers[signum];
+ if( act )
+ sighandlers[signum] = *act;
+
+ return 0;
+}
+
+int sigemptyset(sigset_t *set)
+{
+ *set = 0;
+ return 0;
+}
+int sigfillset(sigset_t *set)
+{
+ *set = -1;
+ return 0;
+}