Synergy User Manual and Tutorial. - THE CORE MEMORY
Synergy User Manual and Tutorial. - THE CORE MEMORY
Synergy User Manual and Tutorial. - THE CORE MEMORY
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Synergy</strong> <strong>User</strong> <strong>Manual</strong> <strong>and</strong> <strong>Tutorial</strong><br />
int tsd;<br />
int res;<br />
// Problem tuple space identifier<br />
// Result tuple space identifier<br />
int status; // Return status for tuple operations<br />
int tplength; // Length of ts entry<br />
int i;<br />
// Counter index<br />
int sem = 0; // Semaphore<br />
char host[128]; // Host machine name<br />
char tpname[20]; // Identifier of ts entry<br />
char sendMsg[50]; // Message sent back to master<br />
// Different datatypes to receive from master<br />
// Integer received from master<br />
int num;<br />
// Long integer received from master<br />
long lnum;<br />
// Float received from master<br />
float frac;<br />
// Double received from master<br />
double dfrac;<br />
// Integer array received from master<br />
int numArr[MAX];<br />
// Double array received from master<br />
double dblArr[MAX];<br />
// String received from master<br />
char recdMsg[50];<br />
// Struct received from master<br />
struct person bob;<br />
// Initialize sendMsg<br />
strcpy(sendMsg, "");<br />
// Get host machine name<br />
gethostname(host, sizeof(host));<br />
// Open tuple spaces<br />
printf("Worker: Opening tuple spaces\n");<br />
// Open problem tuple space<br />
tsd = cnf_open("problem",0);<br />
// Open result tuple space<br />
res = cnf_open("result",0);<br />
printf("Worker: Tuple spaces open complete\n");<br />
while(1){<br />
// Set name to sem<br />
strcpy(tpname,"sem");<br />
// Read semaphore from problem tuple space<br />
tplength = cnf_tsget(tsd, tpname, &sem, 0);<br />
printf("Worker: Taking semaphore\n");<br />
// Set name to any<br />
strcpy(tpname,"D_*");<br />
tplength = cnf_tsread(tsd, tpname, recdMsg, 0);<br />
printf("Worker: Taking item %s\n", tpname);<br />
// Get int num from ts<br />
if(!strcmp(tpname, "D_num")){<br />
144