1 SUBROUTINE myfork(i, maxprocess, wrapper, fcn)
16 INTEGER :: pid, status, iretpid, ierror, werror
17 INTEGER,
SAVE :: nprocess = 0
20 IF (i .eq. 1) nprocess = 0
25 DO WHILE(ierror .ne. 0)
27 IF (nprocess .lt. maxprocess)
CALL pxffork (pid, ierror)
29 IF (ierror .ne. 0)
THEN
31 CALL pxfwait (status, iretpid, werror)
33 IF (nprocess .ge. 1) nprocess = nprocess - 1
49 nprocess = nprocess + 1