Listing 2. PVM Timing Slave Program
/****************************************************
* PVM Timing - Slave Program, File: slave_tim.c
* PVM Version used: 3.3.x
* Comment: This file is an adaptation of one
* packaged with the PVM source.
*****************************************************
#include "pvm3.h" /* PVM version 3.0 include
* file */
main() {
int mytid; /* PVM process task id */
int parent; /* PVM process task id for
* parent */
int ret_int[10]; /* a return message */
int stid, stag, slen; /* parameters needed
* by pvm_precv */
int i; /* loop index */
/* enroll worker task in PVM machine */
mytid = pvm_mytid();
/* get task ID of parent/master process */
parent = pvm_parent();
/* wait for message master */
pvm_precv(parent, 1, ret_int, 10, PVM_INT,
&stid, &stag, &slen);
/* this loop time will be included in the
* master's delta_t */
for (i=0; i<10; i++)
ret_int[i] = 2*ret_int[i];
/* send reply back to master */
pvm_psend(parent, 2, ret_int, 10, PVM_INT);
/* exit from PVM */
pvm_exit();
exit(0);
}