changes to support gc with dstm
authorbdemsky <bdemsky>
Thu, 7 Aug 2008 21:57:26 +0000 (21:57 +0000)
committerbdemsky <bdemsky>
Thu, 7 Aug 2008 21:57:26 +0000 (21:57 +0000)
Robust/src/Runtime/socket.c

index be44968e8b801a6efac2cf38d642587dfb48954a..43fb285b5c6ef84bdbf271d3dbf8051d6c5381a1 100644 (file)
@@ -25,7 +25,7 @@ int CALL24(___Socket______nativeConnect____I__AR_B_I, int ___fd___, int ___port_
   sin.sin_family= AF_INET;
   sin.sin_port=htons(___port___);
   sin.sin_addr.s_addr=htonl(*(int *)(((char *)&VAR(___address___)->___length___)+sizeof(int)));
-#ifdef THREADS
+#if defined(THREADS)||define(DSTM)
 #ifdef PRECISE_GC
   struct listitem *tmp=stopforgc((struct garbagelist *)___params___);
 #endif
@@ -33,7 +33,7 @@ int CALL24(___Socket______nativeConnect____I__AR_B_I, int ___fd___, int ___port_
   do {
     rc = connect(___fd___, (struct sockaddr *) &sin, sizeof(sin));
   } while (rc<0 && errno==EINTR); /* repeat if interrupted */
-#ifdef THREADS
+#if defined(THREADS)||define(DSTM)
 #ifdef PRECISE_GC
   restartaftergc(tmp);
 #endif
@@ -289,13 +289,13 @@ int CALL02(___ServerSocket______nativeaccept____L___Socket___,struct ___ServerSo
   unsigned int sinlen=sizeof(sin);
   int fd=VAR(___this___)->___fd___;
   int newfd;
-#ifdef THREADS
+#if defined(THREADS)||define(DSTM)
 #ifdef PRECISE_GC
   struct listitem *tmp=stopforgc((struct garbagelist *)___params___);
 #endif
 #endif
   newfd=accept(fd, (struct sockaddr *)&sin, &sinlen);
-#ifdef THREADS 
+#if defined(THREADS)||define(DSTM)
 #ifdef PRECISE_GC
   restartaftergc(tmp);
 #endif
@@ -363,7 +363,7 @@ int CALL02(___Socket______nativeRead_____AR_B, struct ___Socket___ * ___this___,
 
   char * charstr=malloc(length);
   
-#ifdef THREADS
+#if defined(THREADS)||define(DSTM)
 #ifdef PRECISE_GC
   struct listitem *tmp=stopforgc((struct garbagelist *)___params___);
 #endif
@@ -374,7 +374,7 @@ int CALL02(___Socket______nativeRead_____AR_B, struct ___Socket___ * ___this___,
   do {
     byteread=read(fd, charstr, length);
   } while(byteread==-1&&errno==EINTR);
-#ifdef THREADS
+#if defined(THREADS)||define(DSTM)
 #ifdef PRECISE_GC
   restartaftergc(tmp);
 #endif