xref: /original-bsd/usr.bin/f77/libU77/test/fktst.f (revision cd89438c)
1C
2C Copyright (c) 1980 The Regents of the University of California.
3C All rights reserved.
4C
5C %sccs.include.proprietary.f%
6C
7C	@(#)fktst.f	5.2 (Berkeley) 04/12/91
8C
9
10	common/sig/whoami
11	character*6 whoami
12	integer fork, getpid, wait, tick
13	external trap
14
15	call signal(2, trap, -1)
16	call signal(3, trap, -1)
17	call signal(6, trap, -1)
18	call signal(8, trap, -1)
19	call signal(15, trap, -1)
20
21	tick = 1
22	id = fork()
23	if (id .eq. 0) then
24	    whoami = "child"
25	    write(*,*) "child:", getpid()
26	    call flush(6)
27   10	    call sleep(1)
28	    write(*,'(1x,i2,$)') tick
29	    call flush(6)
30	    tick = tick + 1
31	    goto 10
32	else
33	    whoami = "parent"
34	    call sleep(5)
35	    write(*,*) "\nparent:", id
36	    call flush(6)
37	    istat = kill(id, 15)
38	    write(*,*) "\nkill status:", istat
39	    call flush(6)
40	    iwait = wait(isw)
41	    write(*,*) iwait, isw
42	endif
43	end
44
45	subroutine trap(num)
46	common/sig/whoami
47	character*6 whoami
48	write(*,*) "\ntrap:", whoami, num
49	stop
50	end
51