#include <afs/stds.h>
#include <roken.h>
+#include <afs/opr.h>
#ifdef AFS_NT40_ENV
#include <sys/utime.h>
char *cellservDB;
struct stat tstat;
int code;
+ time_t now = time(0);
+
+ if (adir->timeCheck == now) {
+ return 1; /* stat no more than once a second */
+ }
+ adir->timeCheck = now;
_afsconf_CellServDBPath(adir, &cellservDB);
if (cellservDB == NULL)
#endif
adir->timeRead = 0; /* just in case */
+ adir->timeCheck = 0;
_afsconf_CellServDBPath(adir, &cellservDB);
if (cellservDB == NULL)
return -1;
}
+ /* init the keys queue before any call to afsconf_CloseInternal() */
+ _afsconf_InitKeys(adir);
+
/* The CellServDB file is now open.
* The following code parses the contents of the
* file and creates a list with the first cell entry
if (tf != NULL)
fclose(tf);
- /* now read the fs keys, if possible */
- _afsconf_InitKeys(adir);
+ /* now read the fs keys, if possible */
code = _afsconf_LoadKeys(adir);
return code;