From: Andrew Deason Date: Thu, 27 Jan 2011 19:13:21 +0000 (-0600) Subject: afscp: Fix -s option for writes X-Git-Tag: upstream/1.6.6_pre2^2~137 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=83ef563a1ffadbc965c5863d11c488d46ceffc62;p=packages%2Fo%2Fopenafs.git afscp: Fix -s option for writes When writing to AFS with afscp, the -s option was sleeping before any StoreData RPCs actually got issued to the fileserver. Move the sleep to after we have done one rx_Read/rx_Write, so we sleep after starting to contact the fileserver, to make sleeping while writing more consistent with sleeping while reading. Reviewed-on: http://gerrit.openafs.org/3762 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 380cc22a45dff7e40cd50d57a56742b59ccc4952) Change-Id: I5bafad6958111bfb196adde79361939b00a176a1 Reviewed-on: http://gerrit.openafs.org/9417 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Andrew Deason Reviewed-by: Stephan Wiesand --- diff --git a/src/tests/afscp.c b/src/tests/afscp.c index 08b4d6573..056843915 100644 --- a/src/tests/afscp.c +++ b/src/tests/afscp.c @@ -484,14 +484,6 @@ main(int argc, char **argv) bytesremaining = ntohl(bytesremaining); } - if (sleeptime > 0) { -#ifdef AFS_PTHREAD_ENV - sleep(sleeptime); -#else - IOMGR_Sleep(sleeptime); -#endif - } - while (bytesremaining > 0) { /*printf("%d bytes remaining\n",bytesremaining); */ if (slcl) { @@ -515,6 +507,17 @@ main(int argc, char **argv) if (rx_Write(dcall, databuffer, bytes) != bytes) break; } + + if (sleeptime > 0) { +#ifdef AFS_PTHREAD_ENV + sleep(sleeptime); +#else + IOMGR_Sleep(sleeptime); +#endif + /* only sleep once */ + sleeptime = 0; + } + bytesremaining -= bytes; /*printf("%d bytes copied\n",bytes); */ }