From d20c76586a7621bff504abb3046d48acf774efff Mon Sep 17 00:00:00 2001 From: Simon Wilkinson Date: Sun, 3 Apr 2011 16:09:44 +0100 Subject: [PATCH] Tidy up gettimeofday usage The roken gettimeofday implementation doesn't return timezone information. Audit the whole code to make sure that we don't rely on this, and tidy up those places where we were passing an unused timezone structure to the gettimeofday call. Change-Id: Ia83f86483a9c7262fc0904236c0d039a912e3731 Reviewed-on: http://gerrit.openafs.org/4430 Tested-by: BuildBot Reviewed-by: Derrick Brashear --- src/JAVA/libjafs/File.c | 5 ++--- src/butc/lwps.c | 7 ++----- src/butc/tcudbprocs.c | 3 +-- src/butm/test_ftm.c | 2 +- src/comerr/error_table_nt.c | 2 +- src/kauth/kaprocs.c | 4 ++-- src/lwp/test/selsubs.c | 3 +-- src/rx/rx.c | 4 ++-- src/rx/test/kctest.c | 2 +- src/rxkad/bg-fcrypt.c | 10 +++++----- src/rxkad/fc_test.c | 12 ++++++------ src/rxkad/test/stress_c.c | 2 +- src/tests/afscp.c | 5 ++--- src/venus/afsio.c | 17 ++++++++--------- src/vol/vol-salvage.c | 4 ++-- src/volser/voltrans.c | 3 +-- 16 files changed, 38 insertions(+), 47 deletions(-) diff --git a/src/JAVA/libjafs/File.c b/src/JAVA/libjafs/File.c index 734b6db4e..080474219 100644 --- a/src/JAVA/libjafs/File.c +++ b/src/JAVA/libjafs/File.c @@ -132,7 +132,6 @@ JNIEXPORT jboolean JNICALL Java_org_openafs_jafs_File_setAttributes jboolean islink = JNI_FALSE; int i; struct timeval tv0, tv1; - struct timezone tz; /*memset(target, 0, FILENAME_MAX);*/ @@ -152,12 +151,12 @@ JNIEXPORT jboolean JNICALL Java_org_openafs_jafs_File_setAttributes return JNI_FALSE; } - gettimeofday(&tv0, &tz); + gettimeofday(&tv0, NULL); if ((strcmp(dirName, "/afs") == 0) || (strcmp(dirName, "/afs/") == 0)) { rc = 1; /* special case for /afs since statmountpoint fails on it */ } else { rc = uafs_statmountpoint(dirName); - gettimeofday(&tv1, &tz); + gettimeofday(&tv1, NULL); sub_time(&tv1, &tv0); /*printf("%s: statmountpoint %d.%06d\n", dirName, tv1.tv_sec, tv1.tv_usec);*/ } diff --git a/src/butc/lwps.c b/src/butc/lwps.c index cce1bc7b8..1bceba71e 100644 --- a/src/butc/lwps.c +++ b/src/butc/lwps.c @@ -116,7 +116,6 @@ extern struct tapeConfig globalTapeConfig; extern struct deviceSyncNode *deviceLatch; extern char globalCellName[]; struct timeval tp; -struct timezone tzp; /* forward declaration */ afs_int32 readVolumeHeader(char *, afs_int32, struct volumeHeader *); @@ -1811,7 +1810,6 @@ GetNewLabel(struct butm_tapeInfo *tapeInfoPtr, char *pName, char *AFSName, struct butm_tapeLabel *tapeLabel) { struct timeval tp; - struct timezone tzp; afs_uint32 size; memset(tapeLabel, 0, sizeof(struct butm_tapeLabel)); @@ -1823,7 +1821,7 @@ GetNewLabel(struct butm_tapeInfo *tapeInfoPtr, char *pName, char *AFSName, } else { size = 0; /* no tape size */ } - gettimeofday(&tp, &tzp); + gettimeofday(&tp, NULL); tapeLabel->structVersion = CUR_TAPE_VERSION; tapeLabel->creationTime = tp.tv_sec; @@ -1971,13 +1969,12 @@ tapeExpired(struct butm_tapeLabel *tapeLabelPtr) { Date expiration; struct timeval tp; - struct timezone tzp; expiration = ExpirationDate(tapeLabelPtr->dumpid); if (!expiration) expiration = tapeLabelPtr->expirationDate; - gettimeofday(&tp, &tzp); + gettimeofday(&tp, NULL); return ((expiration < tp.tv_sec) ? 1 : 0); } diff --git a/src/butc/tcudbprocs.c b/src/butc/tcudbprocs.c index 6d7094104..450f4d53b 100644 --- a/src/butc/tcudbprocs.c +++ b/src/butc/tcudbprocs.c @@ -125,7 +125,6 @@ GetDBTape(afs_int32 taskId, Date expires, struct butm_tapeInfo *tapeInfoPtr, char tapeName[BU_MAXTAPELEN]; char strlevel[5]; struct timeval tp; - struct timezone tzp; afs_int32 curTime; int tapecount = 1; @@ -239,7 +238,7 @@ GetDBTape(afs_int32 taskId, Date expires, struct butm_tapeInfo *tapeInfoPtr, */ else { /* Check the tape's expiration date. Use the expiration on the label */ - gettimeofday(&tp, &tzp); + gettimeofday(&tp, NULL); curTime = tp.tv_sec; if (curTime < oldTapeLabel.expirationDate) { TLog(taskId, "This tape has not expired\n"); diff --git a/src/butm/test_ftm.c b/src/butm/test_ftm.c index 1d86c58ca..b7afd3d68 100644 --- a/src/butm/test_ftm.c +++ b/src/butm/test_ftm.c @@ -222,7 +222,7 @@ PerformDumpTest(TestInfo * tip) } memset(&label, 0, sizeof(label)); - gettimeofday(&tp, 0); + gettimeofday(&tp, NULL); label.structVersion = CUR_TAPE_VERSION; label.creationTime = tp.tv_sec; label.size = info.tapeSize; diff --git a/src/comerr/error_table_nt.c b/src/comerr/error_table_nt.c index b1ee9cdfe..5a1690aed 100755 --- a/src/comerr/error_table_nt.c +++ b/src/comerr/error_table_nt.c @@ -979,7 +979,7 @@ gensym(const char *x) char *symbol; if (!gensym_n) { struct timeval tv; - gettimeofday(&tv, (void *)0); + gettimeofday(&tv, NULL); gensym_n = (tv.tv_sec % 10000) * 100 + tv.tv_usec / 10000; } symbol = (char *)malloc(32 * sizeof(char)); diff --git a/src/kauth/kaprocs.c b/src/kauth/kaprocs.c index 8dc0fe301..5da46efbd 100644 --- a/src/kauth/kaprocs.c +++ b/src/kauth/kaprocs.c @@ -110,7 +110,7 @@ get_time(Date *timeP, int i; afs_int32 to; - gettimeofday(&time, 0); + gettimeofday(&time, NULL); bit = (random_value[3] >> 31) & 1; /* get high bit of high word */ for (i = 0; i < 4; i++) { nbit = random_value[i] >> 31; @@ -216,7 +216,7 @@ initialize_database(struct ubik_trans *tt) struct ktc_encryptionKey key; int code; - gettimeofday((struct timeval *)&key, 0); /* this is just a cheap seed key */ + gettimeofday((struct timeval *)&key, NULL); /* this is just a cheap seed key */ DES_set_odd_parity(ktc_to_cblock(&key)); DES_init_random_number_generator(ktc_to_cblock(&key)); if ((code = DES_new_random_key(ktc_to_cblock(&key))) diff --git a/src/lwp/test/selsubs.c b/src/lwp/test/selsubs.c index 0304c8b4a..f20dea47d 100644 --- a/src/lwp/test/selsubs.c +++ b/src/lwp/test/selsubs.c @@ -146,14 +146,13 @@ Log(char *fmt, ...) { va_list args; struct timeval now; - struct timezone tz; struct tm *ltime; time_t tt; int code; PROCESS pid; extern char *program; - code = gettimeofday(&now, &tz); + code = gettimeofday(&now, NULL); assert(code == 0); tt = now.tv_sec; diff --git a/src/rx/rx.c b/src/rx/rx.c index f7f6d7955..42069deeb 100644 --- a/src/rx/rx.c +++ b/src/rx/rx.c @@ -7419,14 +7419,14 @@ MakeDebugCall(osi_socket socket, afs_uint32 remoteAddr, afs_uint16 remotePort, (struct sockaddr *)&taddr, sizeof(struct sockaddr_in)); /* see if there's a packet available */ - gettimeofday(&tv_wake,0); + gettimeofday(&tv_wake, NULL); tv_wake.tv_sec += waitTime; for (;;) { FD_ZERO(&imask); FD_SET(socket, &imask); tv_delta.tv_sec = tv_wake.tv_sec; tv_delta.tv_usec = tv_wake.tv_usec; - gettimeofday(&tv_now, 0); + gettimeofday(&tv_now, NULL); if (tv_delta.tv_usec < tv_now.tv_usec) { /* borrow */ diff --git a/src/rx/test/kctest.c b/src/rx/test/kctest.c index b363aac5c..6fc0aceba 100644 --- a/src/rx/test/kctest.c +++ b/src/rx/test/kctest.c @@ -105,7 +105,7 @@ nowms() struct timeval tv; long temp; - gettimeofday(&tv, 0); + gettimeofday(&tv, NULL); temp = ((tv.tv_sec & 0xffff) * 1000) + (tv.tv_usec / 1000); return temp; } diff --git a/src/rxkad/bg-fcrypt.c b/src/rxkad/bg-fcrypt.c index 4aefaeeb6..24a81ae97 100644 --- a/src/rxkad/bg-fcrypt.c +++ b/src/rxkad/bg-fcrypt.c @@ -769,16 +769,16 @@ main() int i; fc_keysched(key1, sched); - gettimeofday(&start, 0); + gettimeofday(&start, NULL); for (i = 0; i < 1000000; i++) fc_keysched(key1, sched); - gettimeofday(&stop, 0); + gettimeofday(&stop, NULL); printf("fc_keysched = %2.2f us\n", (stop.tv_sec - start.tv_sec + (stop.tv_usec - start.tv_usec) / 1e6) * 1); fc_ecb_encrypt(data, data, sched, ENCRYPT); - gettimeofday(&start, 0); + gettimeofday(&start, NULL); for (i = 0; i < 1000000; i++) fc_ecb_encrypt(data, data, sched, ENCRYPT); gettimeofday(&stop, 0); @@ -788,11 +788,11 @@ main() fc_cbc_encrypt(the_quick, ciph, sizeof(the_quick), sched, iv, ENCRYPT); - gettimeofday(&start, 0); + gettimeofday(&start, NULL); for (i = 0; i < 100000; i++) fc_cbc_encrypt(the_quick, ciph, sizeof(the_quick), sched, iv, ENCRYPT); - gettimeofday(&stop, 0); + gettimeofday(&stop, NULL); printf("fc_cbc_encrypt = %2.2f us\n", (stop.tv_sec - start.tv_sec + (stop.tv_usec - start.tv_usec) / 1e6) * 10); diff --git a/src/rxkad/fc_test.c b/src/rxkad/fc_test.c index bff1363b3..162f4949d 100644 --- a/src/rxkad/fc_test.c +++ b/src/rxkad/fc_test.c @@ -159,30 +159,30 @@ main(void) int i; fc_keysched((struct ktc_encryptionKey *)key1, sched); - gettimeofday(&start, 0); + gettimeofday(&start, NULL); for (i = 0; i < 1000000; i++) fc_keysched((struct ktc_encryptionKey *)key1, sched); - gettimeofday(&stop, 0); + gettimeofday(&stop, NULL); printf("fc_keysched = %2.2f us\n", (stop.tv_sec - start.tv_sec + (stop.tv_usec - start.tv_usec) / 1e6) * 1); fc_ecb_encrypt(data, data, sched, ENCRYPT); - gettimeofday(&start, 0); + gettimeofday(&start, NULL); for (i = 0; i < 1000000; i++) fc_ecb_encrypt(data, data, sched, ENCRYPT); - gettimeofday(&stop, 0); + gettimeofday(&stop, NULL); printf("fc_ecb_encrypt = %2.2f us\n", (stop.tv_sec - start.tv_sec + (stop.tv_usec - start.tv_usec) / 1e6) * 1); fc_cbc_encrypt(the_quick, ciph, sizeof(the_quick), sched, iv, ENCRYPT); - gettimeofday(&start, 0); + gettimeofday(&start, NULL); for (i = 0; i < 100000; i++) fc_cbc_encrypt(the_quick, ciph, sizeof(the_quick), sched, iv, ENCRYPT); - gettimeofday(&stop, 0); + gettimeofday(&stop, NULL); printf("fc_cbc_encrypt = %2.2f us\n", (stop.tv_sec - start.tv_sec + (stop.tv_usec - start.tv_usec) / 1e6) * 10); diff --git a/src/rxkad/test/stress_c.c b/src/rxkad/test/stress_c.c index fb026f317..f5d8d0f96 100644 --- a/src/rxkad/test/stress_c.c +++ b/src/rxkad/test/stress_c.c @@ -378,7 +378,7 @@ static double ftime(void) { struct timeval tv; - gettimeofday(&tv, 0); + gettimeofday(&tv, NULL); return (double)tv.tv_sec + (double)tv.tv_usec / 1000000.0; } diff --git a/src/tests/afscp.c b/src/tests/afscp.c index 056843915..5175e1ba1 100644 --- a/src/tests/afscp.c +++ b/src/tests/afscp.c @@ -210,7 +210,6 @@ main(int argc, char **argv) int filesz = 0; int ch, blksize, bytesremaining, bytes; struct timeval start, finish; - struct timezone tz; struct rx_securityClass *ssc = 0, *dsc = 0; int sscindex, dscindex; struct rx_connection *sconn = NULL, *dconn = NULL; @@ -433,7 +432,7 @@ main(int argc, char **argv) scall = rx_NewCall(sconn); if (!dlcl && !unlock) dcall = rx_NewCall(dconn); - gettimeofday(&start, &tz); + gettimeofday(&start, NULL); if (unlock) { if (fst.lockCount) { printf("Sending 1 unlock for %s (%d locks)\n", srcf, fst.lockCount); @@ -553,7 +552,7 @@ main(int argc, char **argv) if (storecode) printf("Error returned from store: %s\n", afs_error_message(storecode)); Finish: - gettimeofday(&finish, &tz); + gettimeofday(&finish, NULL); if (!slcl) { theFids.AFSCBFids_len = 1; diff --git a/src/venus/afsio.c b/src/venus/afsio.c index 33c124e19..ef8746dcb 100644 --- a/src/venus/afsio.c +++ b/src/venus/afsio.c @@ -92,7 +92,6 @@ static int CBServiceNeeded = 0; static struct timeval starttime, opentime, readtime, writetime; afs_uint64 xfered=0, oldxfered=0; static struct timeval now; -struct timezone Timezone; static float seconds, datarate, oldseconds; extern int rxInitDone; #ifdef AFS_NT40_ENV @@ -944,7 +943,7 @@ readFile(struct cmd_syndesc *as, void *unused) CBServiceNeeded = 1; InitializeCBService(); - gettimeofday (&starttime, &Timezone); + gettimeofday (&starttime, NULL); fname = as->parms[0].items->data; cell = 0; if (as->parms[1].items) @@ -991,7 +990,7 @@ readFile(struct cmd_syndesc *as, void *unused) useHost, fname, code); continue; } - gettimeofday(&opentime, &Timezone); + gettimeofday(&opentime, NULL); if (verbose) { seconds = (float)(opentime.tv_sec + opentime.tv_usec *.000001 -starttime.tv_sec - starttime.tv_usec *.000001); @@ -1057,7 +1056,7 @@ readFile(struct cmd_syndesc *as, void *unused) write(1, buf, len); length -= len; xfered += len; - gettimeofday(&now, &Timezone); + gettimeofday(&now, NULL); if (verbose) printDatarate(); } @@ -1069,7 +1068,7 @@ readFile(struct cmd_syndesc *as, void *unused) } break; } - gettimeofday(&readtime, &Timezone); + gettimeofday(&readtime, NULL); if (worstCode) { fprintf(stderr,"%s failed with code %d\n", (char *) &as->name, worstCode); @@ -1186,7 +1185,7 @@ writeFile(struct cmd_syndesc *as, void *unused) return ENOENT; } cl = FindCell(cell); - gettimeofday (&starttime, &Timezone); + gettimeofday (&starttime, NULL); useHost = hosts[0]; RXConn = FindRXConnection(useHost, htons(AFSCONF_FILEPORT), 1, cl->sc, cl->scIndex); @@ -1253,7 +1252,7 @@ writeFile(struct cmd_syndesc *as, void *unused) previous = tbuf; Len += tbuf->used; } - gettimeofday(&opentime, &Timezone); + gettimeofday(&opentime, NULL); if (verbose) { seconds = (float) (opentime.tv_sec + opentime.tv_usec *.000001 -starttime.tv_sec - starttime.tv_usec *.000001); @@ -1296,7 +1295,7 @@ writeFile(struct cmd_syndesc *as, void *unused) break; } xfered += tbuf->used; - gettimeofday(&now, &Timezone); + gettimeofday(&now, NULL); if (verbose) printDatarate(); length -= tbuf->used; @@ -1352,7 +1351,7 @@ writeFile(struct cmd_syndesc *as, void *unused) } } } - gettimeofday(&writetime, &Timezone); + gettimeofday(&writetime, NULL); if (worstCode) { fprintf(stderr,"%s failed with code %d\n", as->name, worstCode); } else if(verbose) { diff --git a/src/vol/vol-salvage.c b/src/vol/vol-salvage.c index f017392d3..25aa463f6 100644 --- a/src/vol/vol-salvage.c +++ b/src/vol/vol-salvage.c @@ -2452,7 +2452,7 @@ SalvageHeader(struct SalvInfo *salvinfo, struct afs_inode_info *sp, header.volumeInfo.uniquifier = (isp->maxUniquifier + 1) + 1000; header.volumeInfo.type = (isp->volumeId == isp->RWvolumeId ? readwriteVolume : readonlyVolume); /* XXXX */ header.volumeInfo.needsCallback = 0; - gettimeofday(&tp, 0); + gettimeofday(&tp, NULL); header.volumeInfo.creationDate = tp.tv_sec; nBytes = FDH_PWRITE(fdP, (char *)&header.volumeInfo, @@ -4736,7 +4736,7 @@ Log(const char *format, ...) } else #endif if (logFile) { - gettimeofday(&now, 0); + gettimeofday(&now, NULL); fprintf(logFile, "%s %s", TimeStamp(now.tv_sec, 1), tmp); fflush(logFile); } diff --git a/src/volser/voltrans.c b/src/volser/voltrans.c index 10d19bfdf..599d4c994 100644 --- a/src/volser/voltrans.c +++ b/src/volser/voltrans.c @@ -54,7 +54,6 @@ NewTrans(afs_uint32 avol, afs_int32 apart) /* set volid, next, partition */ struct volser_trans *tt, *newtt; struct timeval tp; - struct timezone tzp; newtt = (struct volser_trans *)malloc(sizeof(struct volser_trans)); VTRANS_LOCK; @@ -73,7 +72,7 @@ NewTrans(afs_uint32 avol, afs_int32 apart) tt->refCount = 1; tt->rxCallPtr = (struct rx_call *)0; strcpy(tt->lastProcName, ""); - gettimeofday(&tp, &tzp); + gettimeofday(&tp, NULL); tt->creationTime = tp.tv_sec; tt->time = FT_ApproxTime(); tt->tid = transCounter++; -- 2.39.5