diff --git a/bin/Debug/UDPclient b/bin/Debug/UDPclient index e4e36cf..95563af 100755 Binary files a/bin/Debug/UDPclient and b/bin/Debug/UDPclient differ diff --git a/bin/Release/UDPclient b/bin/Release/UDPclient index f5f6976..a8e975b 100755 Binary files a/bin/Release/UDPclient and b/bin/Release/UDPclient differ diff --git a/client.config b/client.config index 1b6e035..f23c317 100644 --- a/client.config +++ b/client.config @@ -11,3 +11,4 @@ CLINBR 0 VIDEO 192.168.1.66:8080 KILLSW 192.168.1.20:8080/status KILLSWTO_US 600000 +KILLSWINT 100000 diff --git a/main.c b/main.c index 77a97f4..648178d 100644 --- a/main.c +++ b/main.c @@ -276,6 +276,7 @@ typedef struct henglongconf_t uint8_t timeout; uint8_t clinbr; uint32_t killswtimeoutus; + uint32_t killswint; } henglongconf_t; henglongconf_t getconfig(char* conffilename) @@ -304,6 +305,7 @@ henglongconf_t getconfig(char* conffilename) conf.killport = 0; conf.killurl[0] = 0; conf.killswtimeoutus = 500000; + conf.killswint = 100000; while(fgets(line, 256, configFile)){ sscanf(line, "%16s %256s", parameter, value); if(0==strcmp(parameter,"KEYBOARD")){ @@ -346,6 +348,9 @@ henglongconf_t getconfig(char* conffilename) if(0==strcmp(parameter,"KILLSWTO_US")){ sscanf(value, "%" SCNu32 , &conf.killswtimeoutus); } + if(0==strcmp(parameter,"KILLSWINT")){ + sscanf(value, "%" SCNu32, &conf.killswint); + } } return conf; } @@ -391,6 +396,7 @@ typedef struct killsw_thread_t uint16_t port; char* url; uint32_t timeout_us; + uint32_t killswint; int state; } killsw_thread_t; @@ -401,7 +407,8 @@ void *killsw_thread_fcn(void* arg) args = (killsw_thread_t*) arg; args->state = 0; while(1){ - args->state = checkkillswitch(args->ip, args->port, args->url, args->timeout_us); + usleep(args->killswint); + args->state = checkkillswitch(args->ip, args->port, args->url, args->timeout_us); } pthread_exit(0); } @@ -473,6 +480,7 @@ int main(int argc, char* argv[]) killsw_thread_args.url = conf.killurl; killsw_thread_args.state = 0; killsw_thread_args.timeout_us = conf.killswtimeoutus; + killsw_thread_args.killswint = conf.killswint; if (pthread_create(&killsw_thread, NULL, killsw_thread_fcn , (void *) &killsw_thread_args)) printf("failed to create killsw thread\n"); }else{ printf("no killswitch!\n"); diff --git a/obj/Debug/main.o b/obj/Debug/main.o index 5508578..eb641e2 100644 Binary files a/obj/Debug/main.o and b/obj/Debug/main.o differ diff --git a/obj/Release/main.o b/obj/Release/main.o index 694373b..e053b35 100644 Binary files a/obj/Release/main.o and b/obj/Release/main.o differ