Merge pull request #412 from alanbjohnston/master-psag-fm-only-fsk-r socket reset fix

socket reset fix
master-psag-fm-only-fsk
Alan Johnston 1 week ago committed by GitHub
commit 41b804bd94
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -2974,6 +2974,7 @@ void get_tlm_fc() { // FUNcube Mode telemetry generation
void socket_send(int length) { void socket_send(int length) {
printf("Socket_send!\n"); printf("Socket_send!\n");
fflush(stdout);
int error = 0; int error = 0;
if (!socket_open && transmit) { // open socket if not open if (!socket_open && transmit) { // open socket if not open
@ -2983,7 +2984,7 @@ void socket_send(int length) {
struct sockaddr_in serv_addr; struct sockaddr_in serv_addr;
// char *hello = "Hello from client"; // char *hello = "Hello from client";
// char buffer[1024] = {0}; // char buffer[1024] = {0};
error_count = 0; // error_count = 0;
if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) { if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
printf("\n Socket creation error \n"); printf("\n Socket creation error \n");
error = 1; error = 1;
@ -3003,7 +3004,9 @@ void socket_send(int length) {
if (connect(sock, (struct sockaddr * ) & serv_addr, sizeof(serv_addr)) < 0) { if (connect(sock, (struct sockaddr * ) & serv_addr, sizeof(serv_addr)) < 0) {
printf("\nConnection Failed \n"); printf("\nConnection Failed \n");
printf("Error: %s\n", strerror(errno)); printf("Error: %s\n", strerror(errno));
fflush(stdout);
error = 1; error = 1;
sleep(1);
// try again // try again
error = 0; error = 0;
@ -3026,7 +3029,9 @@ void socket_send(int length) {
if (connect(sock, (struct sockaddr * ) & serv_addr, sizeof(serv_addr)) < 0) { if (connect(sock, (struct sockaddr * ) & serv_addr, sizeof(serv_addr)) < 0) {
printf("\nConnection Failed \n"); printf("\nConnection Failed \n");
printf("Error: %s\n", strerror(errno)); printf("Error: %s\n", strerror(errno));
fflush(stdout);
error = 1; error = 1;
sleep(1);
} }
} }
if (error == 1) { if (error == 1) {
@ -3034,6 +3039,7 @@ void socket_send(int length) {
// ; //transmitStatus = -1; // ; //transmitStatus = -1;
if (error_count++ > 5) { if (error_count++ > 5) {
printf("Restarting transmit\n"); printf("Restarting transmit\n");
fflush(stdout);
FILE * transmit_restartf = popen("sudo systemctl restart transmit", "r"); FILE * transmit_restartf = popen("sudo systemctl restart transmit", "r");
pclose(transmit_restartf); pclose(transmit_restartf);
sleep(10); // was 5 // sleep if socket connection refused sleep(10); // was 5 // sleep if socket connection refused

Loading…
Cancel
Save

Powered by TurnKey Linux.