daemon status 22c (#19959)
* no status should not be reported as crash * save and restore errno when saving status file --------- Co-authored-by: Ilya Mashchenko <ilya@netdata.cloud>
Costa Tsaousis committed
Mar 25, 2025 at 13:55 UTC
9da814480009ad7e5928ceefbfd23c1c36181d6e
1 file changed
+4
src/daemon/daemon-status-file.c
+4
@@ -1395,6 +1395,8 @@ void daemon_status_file_check_crash(void) {
1395
1396
if(no_previous_status) {
1397
last_session_status = session_status;
1398
+ last_session_status.status = DAEMON_STATUS_NONE;
1399
+ last_session_status.exit_reason = 0;
1400
strncpyz(last_session_status.fatal.function, "no_status", sizeof(last_session_status.fatal.function) - 1);
1401
}
1402
@@ -1495,9 +1497,11 @@ void daemon_status_file_register_fatal(const char *filename, const char *functio
1497
// --------------------------------------------------------------------------------------------------------------------
1498
1499
void daemon_status_file_update_status(DAEMON_STATUS status) {
1500
+ int saved_errno = errno;
1501
CLEAN_BUFFER *wb = buffer_create(0, NULL);
1502
daemon_status_file_refresh(status);
1503
daemon_status_file_save(wb, &session_status, true);
1504
+ errno = saved_errno;
1505
}
1506
1507
static void daemon_status_file_out_of_memory(void) {