Add a return value to pv_remote_check() so its caller can know whether a message was received.

This commit is contained in:
Andrew Wood
2025-09-29 21:31:05 +01:00
parent a4e2243102
commit d903a7d188
3 changed files with 12 additions and 8 deletions
+1 -1
View File
@@ -613,7 +613,7 @@ void pv_sig_checkbg(void);
void pv_sig_nopause(void);
void pv_remote_init(pvstate_t);
void pv_remote_check(pvstate_t);
bool pv_remote_check(pvstate_t);
void pv_remote_fini(pvstate_t);
int pv_remote_set(pvstate_t);
+9 -5
View File
@@ -318,8 +318,10 @@ int pv_remote_set(opts_t opts, pvstate_t state)
*
* NB relies on pv_state_set_format() causing the output format to be
* reparsed.
*
* Returns true if something was received, false otherwise.
*/
void pv_remote_check(pvstate_t state)
bool pv_remote_check(pvstate_t state)
{
pid_t signal_sender;
char control_filename[4096]; /* flawfinder: ignore */
@@ -333,13 +335,13 @@ void pv_remote_check(pvstate_t state)
*/
signal_sender = 0;
if (!pv_sigusr2_received(state, &signal_sender))
return;
return false;
memset(control_filename, 0, sizeof(control_filename));
control_fptr = pv__control_file(control_filename, sizeof(control_filename), signal_sender, false);
if (NULL == control_fptr) {
pv_error("%s: %s", control_filename, strerror(errno));
return;
return false;
}
/*
@@ -349,12 +351,12 @@ void pv_remote_check(pvstate_t state)
if (1 != fread(&msgbuf, sizeof(msgbuf), 1, control_fptr)) {
pv_error("%s", strerror(errno));
(void) fclose(control_fptr);
return;
return false;
}
if (0 != fclose(control_fptr)) {
pv_error("%s", strerror(errno));
return;
return false;
}
/*
@@ -398,6 +400,8 @@ void pv_remote_check(pvstate_t state)
pv_state_format_string_set(state, msgbuf.format);
if (msgbuf.extra_display[0] != '\0')
pv_state_extra_display_set(state, msgbuf.extra_display);
return true;
}
+2 -2
View File
@@ -219,7 +219,7 @@ int pv_main_loop(pvstate_t state)
* Check for remote messages from -R every short while.
*/
if (pv_elapsedtime_compare(&cur_time, &next_remotecheck) > 0) {
pv_remote_check(state);
(void) pv_remote_check(state);
pv_elapsedtime_add_nsec(&next_remotecheck, REMOTE_INTERVAL);
}
@@ -836,7 +836,7 @@ int pv_watchfd_loop(pvstate_t state)
/* Check for remote messages from -R every short while. */
if (pv_elapsedtime_compare(&cur_time, &next_remotecheck) > 0) {
pv_remote_check(state);
(void) pv_remote_check(state);
pv_elapsedtime_add_nsec(&next_remotecheck, REMOTE_INTERVAL);
}