radio: Correctly reset terminal on exit/error
This commit is contained in:
@@ -421,7 +421,7 @@ int main(int argc, char *argv[])
|
|||||||
rc = radio_start(&radio);
|
rc = radio_start(&radio);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
fprintf(stderr, "Failed to start radio's streaming, exitting!\n");
|
fprintf(stderr, "Failed to start radio's streaming, exitting!\n");
|
||||||
goto error;
|
goto error_start;
|
||||||
}
|
}
|
||||||
|
|
||||||
int tosend, got;
|
int tosend, got;
|
||||||
@@ -500,12 +500,18 @@ next_char:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
error_start:
|
||||||
/* reset signals */
|
/* reset signals */
|
||||||
signal(SIGINT, SIG_DFL);
|
signal(SIGINT, SIG_DFL);
|
||||||
signal(SIGHUP, SIG_DFL);
|
signal(SIGHUP, SIG_DFL);
|
||||||
signal(SIGTERM, SIG_DFL);
|
signal(SIGTERM, SIG_DFL);
|
||||||
signal(SIGPIPE, SIG_DFL);
|
signal(SIGPIPE, SIG_DFL);
|
||||||
|
|
||||||
|
display_measurements_on(0);
|
||||||
|
display_spectrum_on(0);
|
||||||
|
display_wave_on(0);
|
||||||
|
display_iq_on(0);
|
||||||
|
|
||||||
/* reset terminal */
|
/* reset terminal */
|
||||||
tcsetattr(0, TCSANOW, &term_orig);
|
tcsetattr(0, TCSANOW, &term_orig);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user