28.10.2014 Views

Synergy User Manual and Tutorial. - THE CORE MEMORY

Synergy User Manual and Tutorial. - THE CORE MEMORY

Synergy User Manual and Tutorial. - THE CORE MEMORY

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!