diff options
| author | David M. Syzdek <david.syzdek@acsalaska.com> | 2020-01-30 12:06:08 -0900 |
|---|---|---|
| committer | David M. Syzdek <david.syzdek@acsalaska.com> | 2020-01-30 12:06:08 -0900 |
| commit | c0332a7fd3e4dd696191ec33cd81b3f0d2db931b (patch) | |
| tree | a00599c0b3ade84eac96ab6c0b5b1ff00a0b46de /src | |
| parent | bda9b6fbd13f98dc8db499c3ded40a8576a1c29e (diff) | |
| download | akcom-udpecho-c0332a7fd3e4dd696191ec33cd81b3f0d2db931b.tar.gz akcom-udpecho-c0332a7fd3e4dd696191ec33cd81b3f0d2db931b.tar.bz2 akcom-udpecho-c0332a7fd3e4dd696191ec33cd81b3f0d2db931b.tar.xz akcom-udpecho-c0332a7fd3e4dd696191ec33cd81b3f0d2db931b.zip | |
Adding connection counter
Diffstat (limited to 'src')
| -rw-r--r-- | src/akcom-udpechod.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/akcom-udpechod.c b/src/akcom-udpechod.c index cf04948..828b040 100644 --- a/src/akcom-udpechod.c +++ b/src/akcom-udpechod.c | |||
| @@ -166,7 +166,7 @@ int main(int argc, char * argv[]); | |||
| 166 | int my_daemonize(void); | 166 | int my_daemonize(void); |
| 167 | 167 | ||
| 168 | // main loop | 168 | // main loop |
| 169 | int my_loop(int s); | 169 | int my_loop(int s, size_t * connp); |
| 170 | 170 | ||
| 171 | // signal handler | 171 | // signal handler |
| 172 | void my_sighandler(int signum); | 172 | void my_sighandler(int signum); |
| @@ -194,6 +194,7 @@ int main(int argc, char * argv[]) | |||
| 194 | int s; | 194 | int s; |
| 195 | unsigned seed; | 195 | unsigned seed; |
| 196 | struct timespec ts; | 196 | struct timespec ts; |
| 197 | size_t conn; | ||
| 197 | 198 | ||
| 198 | // determines program name | 199 | // determines program name |
| 199 | cnf.prog_name = argv[0]; | 200 | cnf.prog_name = argv[0]; |
| @@ -323,8 +324,9 @@ int main(int argc, char * argv[]) | |||
| 323 | }; | 324 | }; |
| 324 | 325 | ||
| 325 | // loops | 326 | // loops |
| 327 | conn = 0; | ||
| 326 | while(!(should_stop)) | 328 | while(!(should_stop)) |
| 327 | my_loop(s); | 329 | my_loop(s, &conn); |
| 328 | 330 | ||
| 329 | // close syslog | 331 | // close syslog |
| 330 | syslog(LOG_NOTICE, "daemon stopping"); | 332 | syslog(LOG_NOTICE, "daemon stopping"); |
| @@ -462,7 +464,7 @@ int my_daemonize(void) | |||
| 462 | 464 | ||
| 463 | 465 | ||
| 464 | // main loop | 466 | // main loop |
| 465 | int my_loop(int s) | 467 | int my_loop(int s, size_t * connp) |
| 466 | { | 468 | { |
| 467 | socklen_t sinlen; | 469 | socklen_t sinlen; |
| 468 | ssize_t ssize; | 470 | ssize_t ssize; |
| @@ -492,6 +494,9 @@ int my_loop(int s) | |||
| 492 | if ((poll(fds, 1, 1)) < 1) | 494 | if ((poll(fds, 1, 1)) < 1) |
| 493 | return(0); | 495 | return(0); |
| 494 | 496 | ||
| 497 | // increment connection counter | ||
| 498 | (*connp)++; | ||
| 499 | |||
| 495 | // read data | 500 | // read data |
| 496 | sinlen = sizeof(struct sockaddr_storage); | 501 | sinlen = sizeof(struct sockaddr_storage); |
| 497 | if ((ssize = recvfrom(s, udpbuff.bytes, sizeof(udpbuff), 0, &sin.sa, &sinlen)) == -1) | 502 | if ((ssize = recvfrom(s, udpbuff.bytes, sizeof(udpbuff), 0, &sin.sa, &sinlen)) == -1) |
