Changeset 69749 in vbox
- Timestamp:
- Nov 19, 2017 12:49:36 PM (7 years ago)
- svn:sync-xref-src-repo-rev:
- 119149
- Location:
- trunk
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/com/com.h
r69107 r69749 99 99 * @param uHistoryFileTime Maximum amount of time to put in a log file. 100 100 * @param uHistoryFileSize Maximum size of a log file before rotating. 101 * @param pszError In case of creation failure: buffer for error message. 102 * @param cbError Size of error message buffer. 101 * @param pErrInfo Where to return extended error information. 102 * Optional. 103 * 103 104 * @return VBox status code. 104 105 */ … … 108 109 uint32_t cMaxEntriesPerGroup, uint32_t cHistory, 109 110 uint32_t uHistoryFileTime, uint64_t uHistoryFileSize, 110 char *pszError, size_t cbError);111 PRTERRINFO pErrInfo); 111 112 112 113 } /* namespace com */ -
trunk/include/iprt/log.h
r69745 r69749 2020 2020 * performing history rotation, in seconds. 2021 2021 * 0 means time limit. 2022 * @param p szErrorMsg A buffer which is filled with an error message if something fails. May be NULL.2023 * @param cchErrorMsg The size of the error message buffer.2022 * @param pErrInfo Where to return extended error information. 2023 * Optional. 2024 2024 * @param pszFilenameFmt Log filename format string. Standard RTStrFormat(). 2025 2025 * @param ... Format arguments. … … 2028 2028 const char *pszEnvVarBase, unsigned cGroups, const char * const * papszGroups, 2029 2029 uint32_t fDestFlags, PFNRTLOGPHASE pfnPhase, uint32_t cHistory, 2030 uint64_t cbHistoryFileMax, uint32_t cSecsHistoryTimeSlot, char *pszErrorMsg, size_t cchErrorMsg,2030 uint64_t cbHistoryFileMax, uint32_t cSecsHistoryTimeSlot, PRTERRINFO pErrInfo, 2031 2031 const char *pszFilenameFmt, ...) RT_IPRT_FORMAT_ATTR_MAYBE_NULL(14, 15); 2032 2032 … … 2057 2057 * performing history rotation, in seconds. 2058 2058 * 0 means no time limit. 2059 * @param pszErrorMsg A buffer which is filled with an error message 2060 * if something fails. May be NULL. 2061 * @param cchErrorMsg The size of the error message buffer. 2059 * @param pErrInfo Where to return extended error information. 2060 * Optional. 2062 2061 * @param pszFilenameFmt Log filename format string. Standard 2063 2062 * RTStrFormat(). … … 2067 2066 const char *pszEnvVarBase, unsigned cGroups, const char * const * papszGroups, 2068 2067 uint32_t fDestFlags, PFNRTLOGPHASE pfnPhase, uint32_t cHistory, 2069 uint64_t cbHistoryFileMax, uint32_t cSecsHistoryTimeSlot, char *pszErrorMsg, size_t cchErrorMsg,2068 uint64_t cbHistoryFileMax, uint32_t cSecsHistoryTimeSlot, PRTERRINFO pErrInfo, 2070 2069 const char *pszFilenameFmt, va_list args) RT_IPRT_FORMAT_ATTR_MAYBE_NULL(14, 0); 2071 2070 -
trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxTray.cpp
r69500 r69749 559 559 fFlags |= RTLOGFLAGS_USECRLF; 560 560 #endif 561 char szError[RTPATH_MAX + 128] = "";561 RTERRINFOSTATIC ErrInfo; 562 562 int rc = RTLogCreateEx(&g_pLoggerRelease, fFlags, 563 563 #ifdef DEBUG … … 570 570 RT_ELEMENTS(s_apszGroups), s_apszGroups, RTLOGDEST_STDOUT, 571 571 vboxTrayLogHeaderFooter, g_cHistory, g_uHistoryFileSize, g_uHistoryFileTime, 572 szError, sizeof(szError), pszLogFile);572 RTErrInfoInitStatic(&ErrInfo), pszLogFile); 573 573 if (RT_SUCCESS(rc)) 574 574 { … … 583 583 } 584 584 else 585 MessageBox(GetDesktopWindow(), 586 szError, "VBoxTray - Logging Error", MB_OK | MB_ICONERROR); 585 MessageBoxA(GetDesktopWindow(), ErrInfo.szMsg, "VBoxTray - Logging Error", MB_OK | MB_ICONERROR); 587 586 588 587 return rc; -
trunk/src/VBox/Additions/common/VBoxService/VBoxService.cpp
r69500 r69749 310 310 fFlags |= RTLOGFLAGS_USECRLF; 311 311 #endif 312 char szError[RTPATH_MAX + 128] = "";313 312 int rc = RTLogCreateEx(&g_pLoggerRelease, fFlags, "all", 314 313 #ifdef DEBUG … … 320 319 RTLOGDEST_STDOUT | RTLOGDEST_USER, 321 320 vgsvcLogHeaderFooter, g_cHistory, g_uHistoryFileSize, g_uHistoryFileTime, 322 szError, sizeof(szError), pszLogFile);321 NULL /*pErrInfo*/, pszLogFile); 323 322 if (RT_SUCCESS(rc)) 324 323 { -
trunk/src/VBox/Additions/linux/lightdm-greeter/vbox-greeter.cpp
r69500 r69749 936 936 fFlags |= RTLOGFLAGS_USECRLF; 937 937 #endif 938 char szError[RTPATH_MAX + 128] = "";939 938 int rc = RTLogCreateEx(&g_pLoggerRelease, fFlags, "all", 940 939 "VBOXGREETER_RELEASE_LOG", RT_ELEMENTS(s_apszGroups), s_apszGroups, 941 940 RTLOGDEST_STDOUT, 942 941 vboxGreeterLogHeaderFooter, g_cHistory, g_uHistoryFileSize, g_uHistoryFileTime, 943 szError, sizeof(szError), pszLogFile);942 NULL /*pErrInfo*/, pszLogFile); 944 943 if (RT_SUCCESS(rc)) 945 944 { -
trunk/src/VBox/Frontends/VBoxBalloonCtrl/VBoxWatchdog.cpp
r69500 r69749 1099 1099 1100 1100 /* create release logger, to stdout */ 1101 char szError[RTPATH_MAX + 128];1101 RTERRINFOSTATIC ErrInfo; 1102 1102 rc = com::VBoxLogRelCreate("Watchdog", g_fDaemonize ? NULL : pszLogFile, 1103 1103 RTLOGFLAGS_PREFIX_THREAD | RTLOGFLAGS_PREFIX_TIME_PROG, … … 1105 1105 RTLOGDEST_STDOUT, UINT32_MAX /* cMaxEntriesPerGroup */, 1106 1106 g_cHistory, g_uHistoryFileTime, g_uHistoryFileSize, 1107 szError, sizeof(szError));1107 RTErrInfoInitStatic(&ErrInfo)); 1108 1108 if (RT_FAILURE(rc)) 1109 return RTMsgErrorExit(RTEXITCODE_FAILURE, "failed to open release log (%s, %Rrc)", szError, rc);1109 return RTMsgErrorExit(RTEXITCODE_FAILURE, "failed to open release log (%s, %Rrc)", ErrInfo.Core.pszMsg, rc); 1110 1110 1111 1111 #if defined(RT_OS_DARWIN) || defined(RT_OS_LINUX) || defined (RT_OS_SOLARIS) || defined(RT_OS_FREEBSD) … … 1135 1135 RTLOGDEST_FILE, UINT32_MAX /* cMaxEntriesPerGroup */, 1136 1136 g_cHistory, g_uHistoryFileTime, g_uHistoryFileSize, 1137 szError, sizeof(szError));1137 RTErrInfoInitStatic(&ErrInfo)); 1138 1138 if (RT_FAILURE(rc)) 1139 return RTMsgErrorExit(RTEXITCODE_FAILURE, "failed to open release log (%s, %Rrc)", szError, rc);1139 return RTMsgErrorExit(RTEXITCODE_FAILURE, "failed to open release log (%s, %Rrc)", ErrInfo.Core.pszMsg, rc); 1140 1140 } 1141 1141 #endif -
trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp
r69615 r69749 3859 3859 pszLogFile = szLogFile; 3860 3860 /* Create release logger, to file: */ 3861 char szError[RTPATH_MAX + 128];3862 3861 com::VBoxLogRelCreate("GUI VM Selector Window", 3863 3862 pszLogFile, … … 3870 3869 60 * 60, 3871 3870 _1M, 3872 szError, 3873 sizeof(szError)); 3871 NULL /*pErrInfo*/); 3874 3872 3875 3873 LogRel(("Qt version: %s\n", qtRTVersionString().toUtf8().constData())); -
trunk/src/VBox/HostServices/SharedOpenGL/OpenGLTest/OpenGLTestApp.cpp
r69500 r69749 115 115 fFlags |= RTLOGFLAGS_USECRLF; 116 116 #endif 117 char szError[RTPATH_MAX + 128] = "";118 117 const char * pszFilenameFmt; 119 118 RTLOGDEST enmLogDest; … … 135 134 "VBOX_RELEASE_LOG", RT_ELEMENTS(s_apszGroups), s_apszGroups, enmLogDest, 136 135 NULL /* pfnBeginEnd */, 0 /* cHistory */, 0 /* cbHistoryFileMax */, 0 /* uHistoryTimeMax */, 137 szError, sizeof(szError), pszFilenameFmt, pszFilename, RTTimeMilliTS());136 NULL /* pErrInfo */, pszFilenameFmt, pszFilename, RTTimeMilliTS()); 138 137 if (RT_SUCCESS(vrc)) 139 138 { -
trunk/src/VBox/Main/glue/VBoxLogRelCreate.cpp
r69500 r69749 141 141 uint32_t cMaxEntriesPerGroup, uint32_t cHistory, 142 142 uint32_t uHistoryFileTime, uint64_t uHistoryFileSize, 143 char *pszError, size_t cbError)143 PRTERRINFO pErrInfo) 144 144 { 145 Assert(cbError >= RTPATH_MAX + 128);146 147 145 /* create release logger */ 148 146 PRTLOGGER pReleaseLogger; … … 155 153 pcszEnvVarBase, RT_ELEMENTS(s_apszGroups), s_apszGroups, fDestFlags, 156 154 vboxHeaderFooter, cHistory, uHistoryFileSize, uHistoryFileTime, 157 pszError, cbError, 158 pcszLogFile ? "%s" : NULL, pcszLogFile); 155 pErrInfo, pcszLogFile ? "%s" : NULL, pcszLogFile); 159 156 if (RT_SUCCESS(vrc)) 160 157 { -
trunk/src/VBox/Main/src-client/ConsoleImpl.cpp
r69046 r69749 7217 7217 } 7218 7218 7219 char szError[RTPATH_MAX + 128];7219 RTERRINFOSTATIC ErrInfo; 7220 7220 int vrc = com::VBoxLogRelCreate("VM", logFile.c_str(), 7221 7221 RTLOGFLAGS_PREFIX_TIME_PROG | RTLOGFLAGS_RESTRICT_GROUPS, … … 7224 7224 32768 /* cMaxEntriesPerGroup */, 7225 7225 0 /* cHistory */, 0 /* uHistoryFileTime */, 7226 0 /* uHistoryFileSize */, szError, sizeof(szError));7226 0 /* uHistoryFileSize */, RTErrInfoInitStatic(&ErrInfo)); 7227 7227 if (RT_FAILURE(vrc)) 7228 hrc = setError(E_FAIL, tr("Failed to open release log (%s, %Rrc)"), 7229 szError, vrc); 7228 hrc = setError(E_FAIL, tr("Failed to open release log (%s, %Rrc)"), ErrInfo.Core.pszMsg, vrc); 7230 7229 7231 7230 /* If we've made any directory changes, flush the directory to increase -
trunk/src/VBox/Main/src-server/win/svcmain.cpp
r69747 r69749 809 809 } 810 810 811 char szError[RTPATH_MAX + 128];811 RTERRINFOSTATIC ErrInfo; 812 812 vrc = com::VBoxLogRelCreate("COM Server", pszLogFile, 813 813 RTLOGFLAGS_PREFIX_THREAD | RTLOGFLAGS_PREFIX_TIME_PROG, … … 819 819 #endif 820 820 UINT32_MAX /* cMaxEntriesPerGroup */, cHistory, uHistoryFileTime, uHistoryFileSize, 821 szError, sizeof(szError));821 RTErrInfoInitStatic(&ErrInfo)); 822 822 if (RT_FAILURE(vrc)) 823 return RTMsgErrorExit(RTEXITCODE_FAILURE, "failed to open release log (%s, %Rrc)", szError, vrc);823 return RTMsgErrorExit(RTEXITCODE_FAILURE, "failed to open release log (%s, %Rrc)", ErrInfo.Core.pszMsg, vrc); 824 824 } 825 825 -
trunk/src/VBox/Main/src-server/xpcom/server.cpp
r65420 r69749 744 744 return RTMsgErrorExit(RTEXITCODE_FAILURE, "failed to create logging file name, rc=%Rrc", vrc); 745 745 746 char szError[RTPATH_MAX + 128];746 RTERRINFOSTATIC ErrInfo; 747 747 vrc = com::VBoxLogRelCreate("XPCOM Server", szLogFile, 748 748 RTLOGFLAGS_PREFIX_THREAD | RTLOGFLAGS_PREFIX_TIME_PROG, … … 750 750 RTLOGDEST_FILE, UINT32_MAX /* cMaxEntriesPerGroup */, 751 751 cHistory, uHistoryFileTime, uHistoryFileSize, 752 szError, sizeof(szError));752 RTErrInfoInitStatic(&ErrInfo)); 753 753 if (RT_FAILURE(vrc)) 754 return RTMsgErrorExit(RTEXITCODE_FAILURE, "failed to open release log (%s, %Rrc)", szError, vrc);754 return RTMsgErrorExit(RTEXITCODE_FAILURE, "failed to open release log (%s, %Rrc)", ErrInfo.Core.pszMsg, vrc); 755 755 756 756 /* Set up a build identifier so that it can be seen from core dumps what -
trunk/src/VBox/Main/webservice/vboxweb.cpp
r69500 r69749 1209 1209 1210 1210 /* create release logger, to stdout */ 1211 char szError[RTPATH_MAX + 128];1211 RTERRINFOSTATIC ErrInfo; 1212 1212 rc = com::VBoxLogRelCreate("web service", g_fDaemonize ? NULL : pszLogFile, 1213 1213 RTLOGFLAGS_PREFIX_THREAD | RTLOGFLAGS_PREFIX_TIME_PROG, … … 1215 1215 RTLOGDEST_STDOUT, UINT32_MAX /* cMaxEntriesPerGroup */, 1216 1216 g_cHistory, g_uHistoryFileTime, g_uHistoryFileSize, 1217 szError, sizeof(szError));1217 RTErrInfoInitStatic(&ErrInfo)); 1218 1218 if (RT_FAILURE(rc)) 1219 return RTMsgErrorExit(RTEXITCODE_FAILURE, "failed to open release log (%s, %Rrc)", szError, rc);1219 return RTMsgErrorExit(RTEXITCODE_FAILURE, "failed to open release log (%s, %Rrc)", ErrInfo.Core.pszMsg, rc); 1220 1220 1221 1221 #if defined(RT_OS_DARWIN) || defined(RT_OS_LINUX) || defined (RT_OS_SOLARIS) || defined(RT_OS_FREEBSD) … … 1246 1246 RTLOGDEST_FILE, UINT32_MAX /* cMaxEntriesPerGroup */, 1247 1247 g_cHistory, g_uHistoryFileTime, g_uHistoryFileSize, 1248 szError, sizeof(szError));1248 RTErrInfoInitStatic(&ErrInfo)); 1249 1249 if (RT_FAILURE(rc)) 1250 return RTMsgErrorExit(RTEXITCODE_FAILURE, "failed to open release log (%s, %Rrc)", szError, rc);1250 return RTMsgErrorExit(RTEXITCODE_FAILURE, "failed to open release log (%s, %Rrc)", ErrInfo.Core.pszMsg, rc); 1251 1251 } 1252 1252 #endif -
trunk/src/VBox/NetworkServices/NAT/VBoxNetLwipNAT.cpp
r69500 r69749 1325 1325 return VERR_BUFFER_OVERFLOW; 1326 1326 1327 char szError[RTPATH_MAX + 128];1328 1327 rc = com::VBoxLogRelCreate("NAT Network", 1329 1328 szLogFile, … … 1336 1335 0 /* uHistoryFileTime */, 1337 1336 0 /* uHistoryFileSize */, 1338 szError, sizeof(szError));1337 NULL /*pErrInfo*/); 1339 1338 1340 1339 /* -
trunk/src/VBox/Runtime/common/log/log.cpp
r69746 r69749 228 228 #endif 229 229 #ifdef IN_RING3 230 static int rtR3LogOpenFileDestination(PRTLOGGER pLogger, char *pszErrorMsg, size_t cchErrorMsg);230 static int rtR3LogOpenFileDestination(PRTLOGGER pLogger, PRTERRINFO pErrInfo); 231 231 #endif 232 232 #ifndef IN_RC … … 781 781 uint32_t fDestFlags, PFNRTLOGPHASE pfnPhase, uint32_t cHistory, 782 782 uint64_t cbHistoryFileMax, uint32_t cSecsHistoryTimeSlot, 783 char *pszErrorMsg, size_t cchErrorMsg, const char *pszFilenameFmt, va_list args)783 PRTERRINFO pErrInfo, const char *pszFilenameFmt, va_list args) 784 784 { 785 785 int rc; … … 791 791 * Validate input. 792 792 */ 793 if ( 794 || 793 if ( (cGroups && !papszGroups) 794 || !VALID_PTR(ppLogger) ) 795 795 { 796 796 AssertMsgFailed(("Invalid parameters!\n")); … … 798 798 } 799 799 *ppLogger = NULL; 800 801 if (pszErrorMsg)802 RTStrPrintf(pszErrorMsg, cchErrorMsg, N_("unknown error"));803 800 804 801 AssertMsgReturn(cHistory < _1M, ("%#x", cHistory), VERR_OUT_OF_RANGE); … … 882 879 else 883 880 { 881 rc = VERR_NO_MEMORY; 884 882 # ifdef RT_OS_LINUX 885 if (pszErrorMsg)/* Most probably SELinux causing trouble since the larger RTMemAlloc succeeded. */886 RTStrPrintf(pszErrorMsg, cchErrorMsg, N_("mmap(PROT_WRITE | PROT_EXEC) failed -- SELinux?"));883 /* Most probably SELinux causing trouble since the larger RTMemAlloc succeeded. */ 884 RTErrInfoSet(rc, N_("mmap(PROT_WRITE | PROT_EXEC) failed -- SELinux?")); 887 885 # endif 888 rc = VERR_NO_MEMORY;889 886 } 890 887 if (RT_SUCCESS(rc)) … … 948 945 # ifdef IN_RING3 949 946 if ((pLogger->fDestFlags & (RTLOGDEST_FILE | RTLOGDEST_F_DELAY_FILE)) == RTLOGDEST_FILE) 950 rc = rtR3LogOpenFileDestination(pLogger, p szErrorMsg, cchErrorMsg);947 rc = rtR3LogOpenFileDestination(pLogger, pErrInfo); 951 948 # endif 952 949 … … 984 981 } 985 982 986 if (pszErrorMsg) 987 RTStrPrintf(pszErrorMsg, cchErrorMsg, N_("failed to create semaphore")); 983 RTErrInfoSet(pErrInfo, rc, N_("failed to create semaphore")); 988 984 } 989 985 # ifdef IN_RING3 … … 1016 1012 rc = RTLogCreateExV(ppLogger, fFlags, pszGroupSettings, pszEnvVarBase, cGroups, papszGroups, 1017 1013 fDestFlags, NULL /*pfnPhase*/, 0 /*cHistory*/, 0 /*cbHistoryFileMax*/, 0 /*cSecsHistoryTimeSlot*/, 1018 NULL /*p szErrorMsg*/, 0 /*cchErrorMsg*/, pszFilenameFmt, args);1014 NULL /*pErrInfo*/, pszFilenameFmt, args); 1019 1015 va_end(args); 1020 1016 return rc; … … 1027 1023 uint32_t fDestFlags, PFNRTLOGPHASE pfnPhase, uint32_t cHistory, 1028 1024 uint64_t cbHistoryFileMax, uint32_t cSecsHistoryTimeSlot, 1029 char *pszErrorMsg, size_t cchErrorMsg, const char *pszFilenameFmt, ...)1025 PRTERRINFO pErrInfo, const char *pszFilenameFmt, ...) 1030 1026 { 1031 1027 va_list args; … … 1035 1031 rc = RTLogCreateExV(ppLogger, fFlags, pszGroupSettings, pszEnvVarBase, cGroups, papszGroups, 1036 1032 fDestFlags, pfnPhase, cHistory, cbHistoryFileMax, cSecsHistoryTimeSlot, 1037 p szErrorMsg, cchErrorMsg, pszFilenameFmt, args);1033 pErrInfo, pszFilenameFmt, args); 1038 1034 va_end(args); 1039 1035 return rc; … … 2458 2454 && pLogger->pInt->hFile == NIL_RTFILE) 2459 2455 { 2460 rc = rtR3LogOpenFileDestination(pLogger, NULL, 0);2456 rc = rtR3LogOpenFileDestination(pLogger, pErrInfo); 2461 2457 if (RT_SUCCESS(rc)) 2462 2458 rtlogFlush(pLogger, false /*fNeedSpace*/); … … 3174 3170 * 3175 3171 * @param pLogger The logger instance to update. NULL is not allowed! 3176 * @param pszErrorMsg A buffer which is filled with an error message if 3177 * something fails. May be NULL. 3178 * @param cchErrorMsg The size of the error message buffer. 3179 */ 3180 static int rtlogFileOpen(PRTLOGGER pLogger, char *pszErrorMsg, size_t cchErrorMsg) 3172 * @param pErrInfo Where to return extended error information. 3173 * Optional. 3174 */ 3175 static int rtlogFileOpen(PRTLOGGER pLogger, PRTERRINFO pErrInfo) 3181 3176 { 3182 3177 uint32_t fOpen = RTFILE_O_WRITE | RTFILE_O_DENY_NONE; … … 3211 3206 { 3212 3207 pLogger->pInt->hFile = NIL_RTFILE; 3213 if (pszErrorMsg) 3214 RTStrPrintf(pszErrorMsg, cchErrorMsg, N_("could not open file '%s' (fOpen=%#x)"), pLogger->pInt->szFilename, fOpen); 3208 RTErrInfoSetF(pErrInfo, rc, N_("could not open file '%s' (fOpen=%#x)"), pLogger->pInt->szFilename, fOpen); 3215 3209 } 3216 3210 return rc; … … 3228 3222 * called from RTLogCreateExV. Prevents pfnPhase from 3229 3223 * being called. 3230 */ 3231 static void rtlogRotate(PRTLOGGER pLogger, uint32_t uTimeSlot, bool fFirst) 3224 * @param pErrInfo Where to return extended error information. Optional. 3225 */ 3226 static void rtlogRotate(PRTLOGGER pLogger, uint32_t uTimeSlot, bool fFirst, PRTERRINFO pErrInfo) 3232 3227 { 3233 3228 /* Suppress rotating empty log files simply because the time elapsed. */ … … 3321 3316 pLogger->pInt->cbHistoryFileWritten = 0; 3322 3317 pLogger->pInt->uHistoryTimeSlotStart = uTimeSlot; 3323 rtlogFileOpen(pLogger, NULL, 0);3318 rtlogFileOpen(pLogger, pErrInfo); 3324 3319 3325 3320 /* … … 3349 3344 * @returns IPRT status code. 3350 3345 * @param pLogger The logger. 3351 * @param p szErrorMsg Where to return error info. Optional.3352 * @param cchErrorMsg Size of @a pszErrorMsg buffer.3353 */ 3354 static int rtR3LogOpenFileDestination(PRTLOGGER pLogger, char *pszErrorMsg, size_t cchErrorMsg)3346 * @param pErrInfo Where to return extended error information. 3347 * Optional. 3348 */ 3349 static int rtR3LogOpenFileDestination(PRTLOGGER pLogger, PRTERRINFO pErrInfo) 3355 3350 { 3356 3351 int rc; 3357 3352 if (pLogger->fFlags & RTLOGFLAGS_APPEND) 3358 3353 { 3359 rc = rtlogFileOpen(pLogger, p szErrorMsg, cchErrorMsg);3354 rc = rtlogFileOpen(pLogger, pErrInfo); 3360 3355 3361 3356 /* Rotate in case of appending to a too big log file, 3362 3357 otherwise this simply doesn't do anything. */ 3363 rtlogRotate(pLogger, 0, true /* fFirst */ );3358 rtlogRotate(pLogger, 0, true /* fFirst */, pErrInfo); 3364 3359 } 3365 3360 else … … 3367 3362 /* Force rotation if it is configured. */ 3368 3363 pLogger->pInt->cbHistoryFileWritten = UINT64_MAX; 3369 rtlogRotate(pLogger, 0, true /* fFirst */ );3364 rtlogRotate(pLogger, 0, true /* fFirst */, pErrInfo); 3370 3365 3371 3366 /* If the file is not open then rotation is not set up. */ … … 3373 3368 { 3374 3369 pLogger->pInt->cbHistoryFileWritten = 0; 3375 rc = rtlogFileOpen(pLogger, p szErrorMsg, cchErrorMsg);3370 rc = rtlogFileOpen(pLogger, pErrInfo); 3376 3371 } 3377 3372 else … … 3481 3476 if ( (pLogger->fDestFlags & RTLOGDEST_FILE) 3482 3477 && pLogger->pInt->cHistory) 3483 rtlogRotate(pLogger, RTTimeProgramSecTS() / pLogger->pInt->cSecsHistoryTimeSlot, false /* fFirst*/);3478 rtlogRotate(pLogger, RTTimeProgramSecTS() / pLogger->pInt->cSecsHistoryTimeSlot, false /*fFirst*/, NULL /*pErrInfo*/); 3484 3479 #endif 3485 3480 }
Note:
See TracChangeset
for help on using the changeset viewer.