sandbox file change
authorbdemsky <bdemsky>
Fri, 9 Oct 2009 10:33:37 +0000 (10:33 +0000)
committerbdemsky <bdemsky>
Fri, 9 Oct 2009 10:33:37 +0000 (10:33 +0000)
Robust/src/Runtime/STM/sandbox.c

index e02ecad6b66b98cfdab245a4ae392d308f24d60b..ac020d9d39c7b6f81dbafa0ba244e9fc112cbd64 100644 (file)
@@ -9,6 +9,7 @@ __thread int * counter_reset_pointer;
 
 void checkObjects() {
   if (abortenabled&&checktrans()) {
+    printf("Abort\n");
     transaction_check_counter=(*counter_reset_pointer=HIGH_CHECK_FREQUENCY);
     longjmp(aborttrans, 1);
   }
@@ -18,8 +19,13 @@ void checkObjects() {
 /* Do sandboxing */
 void errorhandler(int sig, struct sigcontext ctx) {
   printf("Error\n");
-  if (abortenabled&&checktrans())
+  if (abortenabled&&checktrans()) {
+    sigset_t toclear;
+    sigemptyset(&toclear);
+    sigaddset(&toclear, sig);
+    sigprocmask(SIG_UNBLOCK, &toclear,NULL); 
     longjmp(aborttrans, 1);
+  }
   threadhandler(sig, ctx);
 }