while (1) {
IOMGR_Sleep(fiveminutes);
/* close the log so it can be removed */
- ReOpenLog(AFSDIR_SERVER_KALOG_FILEPATH); /* no trunc, just append */
+ ReOpenLog(); /* no trunc, just append */
}
return NULL;
}
do { ViceLog(level, str); osi_Panic str; } while(0);
extern int OpenLog(const char *filename);
-extern int ReOpenLog(const char *fileName);
+extern int ReOpenLog(void);
extern void SetupLogSignals(void);
extern void CloseLog(void);
extern void SetupLogSoftSignals(void);
extern void ResetDebug_Signal(int signo);
extern void SetupLogSignals(void);
extern int OpenLog(const char *fileName);
-extern int ReOpenLog(const char *fileName);
+extern int ReOpenLog(void);
extern int LogThreadNum(void);
extern void LogCommandLine(int argc, char **argv, const char *progname,
const char *version, const char *logstring,
return 0;
} /*OpenLog */
+/*!
+ * Reopen the log file descriptor.
+ *
+ * Reopen the log file descriptor in order to support rotation
+ * of the log files. Has no effect when logging to the syslog.
+ *
+ * \returns 0 on success
+ */
int
-ReOpenLog(const char *fileName)
+ReOpenLog(void)
{
int flags = O_WRONLY | O_APPEND | O_CREAT;
}
#endif
- if (IsFIFO(fileName)) {
+ LOCK_SERVERLOG();
+ if (ourName == NULL) {
+ UNLOCK_SERVERLOG();
+ return -1;
+ }
+ if (IsFIFO(ourName)) {
flags |= O_NONBLOCK;
}
-
- LOCK_SERVERLOG();
if (serverLogFD >= 0)
close(serverLogFD);
- serverLogFD = open(fileName, flags, 0666);
+ serverLogFD = open(ourName, flags, 0666);
if (serverLogFD >= 0) {
- RedirectStdStreams(fileName);
+ RedirectStdStreams(ourName);
}
UNLOCK_SERVERLOG();
return serverLogFD < 0 ? -1 : 0;
#endif
/* close the log so it can be removed */
- ReOpenLog(AFSDIR_SERVER_FILELOG_FILEPATH); /* don't trunc, just append */
+ ReOpenLog(); /* don't trunc, just append */
ViceLog(2, ("Cleaning up timed out callbacks\n"));
if (CleanupTimedOutCallBacks())
ViceLog(5, ("Timed out callbacks deleted\n"));
loop++;
if (loop == 10) { /* reopen log every 5 minutes */
loop = 0;
- ReOpenLog(AFSDIR_SERVER_VOLSERLOG_FILEPATH);
+ ReOpenLog();
}
}