program fnodeA
c
c Include C type header file.
c
implicit none
#include "fpvm3.h"
c
c Variables:
c
integer pid, hpid, error
integer N
c
c Register process in PVM.
c And get host process PID.
c
call pvmfserror(1,error)
call pvmfmytid(pid)
call pvmfparent(hpid)
write(6,'('' Node '',i12,'' : Alive'')')pid
c
c Wait for message from host containing N and unpack.
c
call pvmfrecv(hpid,1,error)
call pvmfunpack(INTEGER4,N,1,1,error)
write(6,'('' Node '',i12,'' : Received'',i20)')pid,N
c
c Do Work.
c
N = N + 2
c
c Pack answer and reply to host with new value for N.
c
call pvmfinitsend(PVMDEFAULT,error)
call pvmfpack(INTEGER4,N,1,1,error)
call pvmfsend(hpid,2,error)
write(6,'('' Node '',i12,'' : Result sent '')')pid
c
c Terminate PVM Process.
c
write(6,'('' Node '',i12,'' : Terminating '')')pid
call pvmfexit(error)
stop
end