MCPcopy Create free account
hub / github.com/apache/trafficserver / _solve_internal_filename_conflicts

Method _solve_internal_filename_conflicts

src/proxy/logging/LogObject.cc:1108–1129  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1106}
1107
1108int
1109LogObjectManager::_solve_internal_filename_conflicts(LogObject *log_object, int maxConflicts, int fileNum)
1110{
1111 int retVal = NO_FILENAME_CONFLICTS;
1112 const char *filename = log_object->get_full_filename();
1113
1114 if (_has_internal_filename_conflict(filename, _objects) || _has_internal_filename_conflict(filename, _APIobjects)) {
1115 if (fileNum < maxConflicts) {
1116 char new_name[MAXPATHLEN];
1117
1118 snprintf(new_name, sizeof(new_name), "%s%s%d", log_object->get_original_filename(), LOGFILE_SEPARATOR_STRING, ++fileNum);
1119 log_object->rename(new_name);
1120 retVal = _solve_internal_filename_conflicts(log_object, maxConflicts, fileNum);
1121 } else {
1122 const char *msg = "Cannot solve filename conflicts for log file %s";
1123
1124 Error(msg, filename);
1125 retVal = CANNOT_SOLVE_FILENAME_CONFLICTS;
1126 }
1127 }
1128 return retVal;
1129}
1130
1131LogObject *
1132LogObjectManager::get_object_with_signature(uint64_t signature)

Callers

nothing calls this directly

Calls 4

get_full_filenameMethod · 0.80
get_original_filenameMethod · 0.80
ErrorClass · 0.50
renameMethod · 0.45

Tested by

no test coverage detected