some changes to allow running >1 thread per machine
authoradash <adash>
Thu, 26 May 2011 17:59:01 +0000 (17:59 +0000)
committeradash <adash>
Thu, 26 May 2011 17:59:01 +0000 (17:59 +0000)
Robust/src/Runtime/DSTM/interface_recovery/objstr.c
Robust/src/Runtime/DSTM/interface_recovery/trans.c

index be04a8d64a2ed5a5189969427b68b8555961a9d5..11d484c58c8a29d44dd047b6bdc0dadfd695f134 100644 (file)
@@ -47,7 +47,11 @@ void *objstrAlloc(objstr_t **osptr, unsigned int size) {
 
   {
     unsigned int newsize=size>DEFAULT_OBJ_STORE_SIZE?size:DEFAULT_OBJ_STORE_SIZE;
-    objstr_t *os=(objstr_t *)calloc(1,(sizeof(objstr_t) + newsize));
+    objstr_t *os;
+    if((os =(objstr_t *)calloc(1,(sizeof(objstr_t) + newsize))) == NULL) {
+      printf("%s() Calloc error at line %d, %s\n", __func__, __LINE__, __FILE__);
+      return NULL;
+    }
     void *ptr=&os[1];
     os->next=*osptr;
     (*osptr)=os;
index 1055fa8fb9a5aa8db1dedea755e71b086649df22..e5725028b8373425cb53b1064c504b0b45d23f2d 100644 (file)
@@ -88,8 +88,6 @@ int sendRemoteReq = 0;
 int getResponse = 0;
 
 #ifdef RECOVERY
-
-
 #define INCREASE_EPOCH(x,y,z) ((x/y+1)*y + z)
 /***********************************
  * Global variables for Duplication
@@ -122,8 +120,6 @@ unsigned int currentBackupMachine;
   int numRecovery = 0;
   recovery_stat_t* recoverStat;
 #endif
-
-
 #endif
 
 void printhex(unsigned char *, int);
@@ -2757,7 +2753,7 @@ void *transPrefetch(void *t) {
       /* Send  Prefetch Request */
       prefetchpile_t *ptr = pilehead;
       while(ptr != NULL) {
-        int sd = getSock2(transPrefetchSockPool, ptr->mid);
+        int sd = getSockWithLock(transPrefetchSockPool, ptr->mid);
         sendPrefetchReq(ptr, sd);
         ptr = ptr->next;
       }