diff -u ./source3/modules/vfs_scannedonly.c.orig ./source3/modules/vfs_scannedonly.c --- ./source3/modules/vfs_scannedonly.c.orig 2010-10-07 11:41:16.000000000 -0500 +++ ./source3/modules/vfs_scannedonly.c 2010-10-23 08:08:46.000000000 -0500 @@ -476,13 +476,21 @@ flush_sendbuffer(handle); while (retval != 0 /*&& errno == ENOENT */ && i < recheck_tries) { +#ifdef HAVE_NANOSLEEP struct timespec req = { 0, recheck_time * 10000 }; +#endif DEBUG(SCANNEDONLY_DEBUG, ("scannedonly_allow_access, wait (try=%d " "(max %d), %d ms) for %s\n", i, recheck_tries, recheck_time, cache_smb_fname->base_name)); +#ifdef HAVE_NANOSLEEP nanosleep(&req, NULL); +#elif defined HAVE_USLEEP + usleep(recheck_time/1000); +#else /* fallback, see also lib/util.c, function smb_msleep() */ + smb_msleep(recheck_time/1000000); +#endif retval = SMB_VFS_NEXT_STAT(handle, cache_smb_fname); i++; }