}
void
-initsig(void)
+initsig(int32 queue)
{
int32 i;
static Sigaction sa;
sa.sa_tramp = sigtramp; // sigtramp's job is to call into real handler
for(i = 0; i<NSIG; i++) {
if(sigtab[i].flags) {
+ if((sigtab[i].flags & SigQueue) != queue)
+ continue;
if(sigtab[i].flags & (SigCatch | SigQueue)) {
sa.__sigaction_u.__sa_sigaction = sighandler;
} else {
}
void
-initsig(void)
+initsig(int32 queue)
{
int32 i;
static Sigaction sa;
sa.sa_tramp = sigtramp; // sigtramp's job is to call into real handler
for(i = 0; i<NSIG; i++) {
if(sigtab[i].flags) {
+ if((sigtab[i].flags & SigQueue) != queue)
+ continue;
if(sigtab[i].flags & (SigCatch | SigQueue)) {
sa.__sigaction_u.__sa_sigaction = sighandler;
} else {
}
void
-initsig(void)
+initsig(int32 queue)
{
static Sigaction sa;
for(i = 0; i < NSIG; i++) {
if(sigtab[i].flags) {
+ if((sigtab[i].flags & SigQueue) != queue)
+ continue;
if(sigtab[i].flags & (SigCatch | SigQueue))
sa.__sigaction_u.__sa_sigaction = (void*) sigtramp;
else
}
void
-initsig(void)
+initsig(int32 queue)
{
static Sigaction sa;
for(i = 0; i < NSIG; i++) {
if(sigtab[i].flags) {
+ if((sigtab[i].flags & SigQueue) != queue)
+ continue;
if(sigtab[i].flags & (SigCatch | SigQueue))
sa.__sigaction_u.__sa_sigaction = (void*) sigtramp;
else
}
void
-initsig(void)
+initsig(int32 queue)
{
static Sigaction sa;
sa.sa_restorer = (void*)sigreturn;
for(i = 0; i<NSIG; i++) {
if(sigtab[i].flags) {
+ if((sigtab[i].flags & SigQueue) != queue)
+ continue;
if(sigtab[i].flags & (SigCatch | SigQueue))
sa.k_sa_handler = (void*)sigtramp;
else
}
void
-initsig(void)
+initsig(int32 queue)
{
static Sigaction sa;
sa.sa_restorer = (void*)sigreturn;
for(i = 0; i<NSIG; i++) {
if(sigtab[i].flags) {
+ if((sigtab[i].flags & SigQueue) != queue)
+ continue;
if(sigtab[i].flags & (SigCatch | SigQueue))
sa.sa_handler = (void*)sigtramp;
else
}
void
-initsig(void)
+initsig(int32 queue)
{
static Sigaction sa;
sa.sa_restorer = (void*)sigreturn;
for(i = 0; i<NSIG; i++) {
if(sigtab[i].flags) {
+ if((sigtab[i].flags & SigQueue) != queue)
+ continue;
if(sigtab[i].flags & (SigCatch | SigQueue))
sa.sa_handler = (void*)sigtramp;
else
#include "os.h"
void
-initsig(void)
+initsig(int32 queue)
{
}
if(z != 4)
throw("cas4");
- initsig();
+ initsig(0);
}
/*
String gostring(byte*);
String gostringnocopy(byte*);
String gostringw(uint16*);
-void initsig(void);
+void initsig(int32);
int32 gotraceback(void);
void traceback(uint8 *pc, uint8 *sp, uint8 *lr, G* gp);
void tracebackothers(G*);
}
func Siginit() {
+ initsig(SigQueue);
sig.inuse = true; // enable reception of signals; cannot disable
}
}
void
-initsig(void)
+initsig(int32 queue)
{
}
// license that can be found in the LICENSE file.
void
-initsig(void)
+initsig(int32 queue)
{
}