File: timing_slave.c

package info (click to toggle)
pvm 3.4beta7-4
  • links: PTS
  • area: main
  • in suites: slink
  • size: 5,256 kB
  • ctags: 5,938
  • sloc: ansic: 66,147; makefile: 1,446; fortran: 631; sh: 424; csh: 70; asm: 37
file content (82 lines) | stat: -rw-r--r-- 2,174 bytes parent folder | download | duplicates (14)
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82

static char rcsid[] =
	"$Id: timing_slave.c,v 1.2 1997/07/09 13:26:19 pvmsrc Exp $";

/*
 *         PVM version 3.4:  Parallel Virtual Machine System
 *               University of Tennessee, Knoxville TN.
 *           Oak Ridge National Laboratory, Oak Ridge TN.
 *                   Emory University, Atlanta GA.
 *      Authors:  J. J. Dongarra, G. E. Fagg, M. Fischer
 *          G. A. Geist, J. A. Kohl, R. J. Manchek, P. Mucci,
 *         P. M. Papadopoulos, S. L. Scott, and V. S. Sunderam
 *                   (C) 1997 All Rights Reserved
 *
 *                              NOTICE
 *
 * Permission to use, copy, modify, and distribute this software and
 * its documentation for any purpose and without fee is hereby granted
 * provided that the above copyright notice appear in all copies and
 * that both the copyright notice and this permission notice appear in
 * supporting documentation.
 *
 * Neither the Institutions (Emory University, Oak Ridge National
 * Laboratory, and University of Tennessee) nor the Authors make any
 * representations about the suitability of this software for any
 * purpose.  This software is provided ``as is'' without express or
 * implied warranty.
 *
 * PVM version 3 was funded in part by the U.S. Department of Energy,
 * the National Science Foundation and the State of Tennessee.
 */

/*
*	timing_slave.c
*
*	See timing.c
*/

#include <sys/types.h>
#include <fcntl.h>
#include <stdio.h>
#include "pvm3.h"

#define ENCODING  PvmDataRaw

main(argc, argv)
	int argc;
	char **argv;
{
	int mytid;   /* my task id */
	int dtid;    /* driver task */
	int bufid;
	int n = 0;

	/* enroll in pvm */

	mytid = pvm_mytid();

    /* tell parent I am ready */

    pvm_setopt(PvmRoute, PvmRouteDirect);
    pvm_initsend(ENCODING);
    pvm_send( pvm_parent(), 0 );

	/* pack mytid in buffer */

	pvm_initsend(ENCODING);
	pvm_pkint(&mytid, 1, 1);

	/* our job is just to echo back to the sender when we get a message */

	while (1) {
		bufid = pvm_recv(-1, -1);
		pvm_bufinfo(bufid, (int*)0, (int*)0, &dtid);
		pvm_freebuf(pvm_getrbuf());  /* for shared memory refcount hang */
		pvm_send(dtid, 2);
/*
		printf("echo %d\n", ++n);
*/
	}
}