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
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
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
char * charstr=malloc(length);
-#ifdef THREADS
+#if defined(THREADS)||define(DSTM)
#ifdef PRECISE_GC
struct listitem *tmp=stopforgc((struct garbagelist *)___params___);
#endif
do {
byteread=read(fd, charstr, length);
} while(byteread==-1&&errno==EINTR);
-#ifdef THREADS
+#if defined(THREADS)||define(DSTM)
#ifdef PRECISE_GC
restartaftergc(tmp);
#endif