From 7e0f021a9aec35fd8e6725e87e3313b101d26f5e Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Sun, 27 Jan 2008 11:37:44 +0100 Subject: Initial import (2.0.2-6) --- reference/C/CONTRIB/OR_USING_C/10.1.c | 39 +++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 reference/C/CONTRIB/OR_USING_C/10.1.c (limited to 'reference/C/CONTRIB/OR_USING_C/10.1.c') diff --git a/reference/C/CONTRIB/OR_USING_C/10.1.c b/reference/C/CONTRIB/OR_USING_C/10.1.c new file mode 100644 index 0000000..999d4d3 --- /dev/null +++ b/reference/C/CONTRIB/OR_USING_C/10.1.c @@ -0,0 +1,39 @@ +#include +#include "10.h" + +int MyPid; /* the shell's process id */ +int MyPgrp; /* the shell's process group */ +int TermPgrp; /* the terminal's process group */ + +setup() +{ + /* + * Obtain shell's process id. + */ + MyPid = getpid(); + + /* + * Just use pid for process group. This is + * not a requirement, just convenient. Other + * ways of picking a process group can be used. + */ + MyPgrp = MyPid; + TermPgrp = MyPid; + + /* + * Set the shell's process group. + */ + if (setpgrp(MyPid, MyPgrp) < 0) { + perror("setpgrp"); + exit(1); + } + + /* + * Set the terminal's process group. + */ + if (ioctl(1, TIOCSPGRP, &MyPgrp) < 0) { + perror("ioctl"); + exit(1); + } +} + -- cgit v1.2.3-54-g00ecf