Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#include "lib.h"
2
#include <unistd.h>
3
#include <stdio.h>
4
#include <errno.h>
5
#include "sys9.h"
6
 
7
int
8
setpgid(pid_t pid, pid_t pgid)
9
{
10
	int n, f;
11
	char buf[50], fname[30];
12
 
13
	if(pid == 0)
14
		pid = getpid();
15
	if(pgid == 0)
16
		pgid = getpgrp();
17
	sprintf(fname, "/proc/%d/noteid", pid);
18
	f = open(fname, 1);
19
	if(f < 0) {
20
		errno = ESRCH;
21
		return -1;
22
	}
23
	n = sprintf(buf, "%d", pgid);
24
	n = write(f, buf, n);
25
	if(n < 0)
26
		_syserrno();
27
	else
28
		n = 0;
29
	close(f);
30
	return n;
31
}