File: tfork0.C

package info (click to toggle)
socket%2B%2B 1.12.13%2Bgit20131030.5d039ba-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 668 kB
  • sloc: cpp: 3,988; makefile: 116; sh: 22; ansic: 14
file content (38 lines) | stat: -rw-r--r-- 917 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// Copyright (C) 1992-1996 Gnanasekaran Swaminathan <gs4t@virginia.edu>
//
// Permission is granted to use at your own risk and distribute this software
// in source and  binary forms provided  the above copyright notice and  this
// paragraph are  preserved on all copies.  This software is provided "as is"
// with no express or implied warranty.
//
// Version: 12Jan97 1.11

#include <iostream>
#include <socket++/fork.h>

using namespace std;

static void print (char* name, pid_t child)
{
  if (child) {
    cerr << "Parent " << getppid () << "; "
      << name << ' ' << getpid () << "; Child " << child << ";\n";
  } else if (0) {
    cerr << "Parent " << getppid () << "; "
      << name << "'s child " << getpid () << ";\n";
  }
}

int main (int ac, char** av)
{
  Fork A (1, 1);
  
  print ("A", A.process_id ());
  if (A.is_child ()) {
    sleep (120);
    return 0x8;
  }
  sleep (30);
  return 0;
}