Blob


1 #include <u.h>
2 #define NOPLAN9DEFINES
3 #include <libc.h>
5 #include <signal.h>
8 extern int _p9strsig(char*);
10 int
11 postnote(int who, int pid, char *msg)
12 {
13 int sig;
15 sig = _p9strsig(msg);
16 if(sig == 0){
17 werrstr("unknown note");
18 return -1;
19 }
21 if(pid <= 0){
22 werrstr("bad pid in postnote");
23 return -1;
24 }
26 switch(who){
27 default:
28 werrstr("bad who in postnote");
29 return -1;
30 case PNPROC:
31 return kill(pid, sig);
32 case PNGROUP:
33 if((pid = getpgid(pid)) < 0)
34 return -1;
35 return killpg(pid, sig);
36 }
37 }