sockPoolHashTable_t *transPResponseSocketPool;
-
/* This function initializes the main objects store and creates the
* global machine and location lookup table */
* Following this it also receives a new control message from the co-ordinator and processes this message*/
int processClientReq(fixed_data_t *fixed, trans_commit_data_t *transinfo,
unsigned int *listmid, char *objread, void *modptr, unsigned int *oidmod, int acceptfd) {
+
char control, sendctrl, retval;
objheader_t *tmp_header;
void *header;
printf("Error: In handleTransReq() %s, %d\n", __FILE__, __LINE__);
return 1;
}
+
recv_data((int)acceptfd, &control, sizeof(char));
/* Process the new control message */
switch(control) {
//TODO Use fixed.trans_id TID since Client may have died
break;
}
+
/* Free memory */
if (transinfo->objlocked != NULL) {
free(transinfo->objlocked);
if (transinfo->objnotfound != NULL) {
free(transinfo->objnotfound);
}
+
return 0;
}
*numBytes += size;
/* Send TRANS_DISAGREE to Coordinator */
*control = TRANS_DISAGREE;
+ //printf("%s() oid = %d, type = %d\t", __func__, OID(mobj), TYPE((objheader_t *)mobj));
}
//Keep track of oid locked
oidlocked[*objlocked] = OID(((objheader_t *)mobj));
size += sizeof(objheader_t);
*numBytes += size;
*control = TRANS_DISAGREE;
+ //printf("%s() oid = %d, type = %d\t", __func__, OID(mobj), TYPE((objheader_t *)mobj));
}
}
}
*numBytes += size;
/* Send TRANS_DISAGREE to Coordinator */
*control = TRANS_DISAGREE;
+ //printf("%s() oid = %d, type = %d\t", __func__, OID(mobj), TYPE((objheader_t *)mobj));
}
//Keep track of oid locked
oidlocked[*objlocked] = OID(((objheader_t *)mobj));
size += sizeof(objheader_t);
*numBytes += size;
*control = TRANS_DISAGREE;
+ //printf("%s() oid = %d, type = %d\t", __func__, OID(mobj), TYPE((objheader_t *)mobj));
}
}
}
transinfo->modptr = modptr;
transinfo->numlocked = *(objlocked);
transinfo->numnotfound = *(objnotfound);
-
return control;
}