Avoid 2nd start of the simulation server

udp_server() is being called second time during the simulated run, which
fails due to trying to claim already used port. This patch adds cache to
the udp_server() result.

Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
pull/58/head
Szczepan Zalega 2019-01-05 13:49:58 +01:00
rodzic 600b2a61fe
commit ca27b26c6b
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: D9BAE35991DE5B22
1 zmienionych plików z 5 dodań i 1 usunięć

Wyświetl plik

@ -54,7 +54,11 @@ void device_set_status(int status)
int udp_server()
{
int fd;
static bool run_already = false;
static int fd = -1;
if (run_already && fd >= 0) return fd;
run_already = true;
if ( (fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0 ) {
perror( "socket failed" );
return 1;