Index: src/Processor/filedesc.cc =================================================================== RCS file: /res/impulse/users/map/cvsroot/ml-rsim/src/Processor/filedesc.cc,v retrieving revision 1.3 retrieving revision 1.4 diff --context -r1.3 -r1.4 *** src/Processor/filedesc.cc 2003/05/22 21:55:24 1.3 --- src/Processor/filedesc.cc 2003/10/10 21:14:43 1.4 *************** *** 247,256 **** int FD_fchdir(int fd) { if ((fd < 0) || (fd >= fd_max) || (FDs[fd].name[0] == '\0')) return(-1); ! return(chdir(FDs[fd].name)); } --- 247,271 ---- int FD_fchdir(int fd) { + int rc; + if ((fd < 0) || (fd >= fd_max) || (FDs[fd].name[0] == '\0')) return(-1); ! while ((rc = chdir(FDs[fd].name)) < 0) ! if ((errno == EINTR) || (errno == EAGAIN) || (errno == ETIMEDOUT)) ! { ! printf("FD FChDir: chdir %s failed (%s)", ! FDs[fd].name, YS__strerror(errno)); ! printf(" Retry in %i secs ...\n", ! FILEOP_RETRY_PERIOD); ! sleep(FILEOP_RETRY_PERIOD); ! continue; ! } ! else ! break; ! ! return(rc); } Index: src/Processor/funcs.cc =================================================================== RCS file: /res/impulse/users/map/cvsroot/ml-rsim/src/Processor/funcs.cc,v retrieving revision 1.10 retrieving revision 1.11 diff --context -r1.10 -r1.11 *** src/Processor/funcs.cc 2003/05/22 21:55:24 1.10 --- src/Processor/funcs.cc 2003/10/10 21:14:43 1.11 *************** *** 1261,1266 **** --- 1261,1268 ---- else v2 = inst->rs2vali; + v2 &= 0x1f; + inst->rdvali = v1 >> v2; if (v1 < 0) inst->rdvali |= (-1) << (32 - v2);