summaryrefslogtreecommitdiff
path: root/reference/C/CONTRIB/OR_USING_C/10.3.c
diff options
context:
space:
mode:
Diffstat (limited to 'reference/C/CONTRIB/OR_USING_C/10.3.c')
-rw-r--r--reference/C/CONTRIB/OR_USING_C/10.3.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/reference/C/CONTRIB/OR_USING_C/10.3.c b/reference/C/CONTRIB/OR_USING_C/10.3.c
new file mode 100644
index 0000000..b5179cf
--- /dev/null
+++ b/reference/C/CONTRIB/OR_USING_C/10.3.c
@@ -0,0 +1,26 @@
+#include <signal.h>
+#include <sys/ioctl.h>
+#include "10.h"
+
+bg(j)
+JOB *j;
+{
+ /*
+ * If the job is already running,
+ * there's no need to start it.
+ */
+ if (j->status & JRUNNING)
+ return;
+
+ /*
+ * Start the job.
+ */
+ killpg(j->pgrp, SIGCONT);
+
+ /*
+ * Mark the job as running.
+ */
+ j->status &= ~JSTOPPED;
+ j->status |= JRUNNING;
+}
+