aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2016-07-09 11:15:48 +0200
committerAndreas Eversberg <jolly@eversberg.eu>2016-07-09 11:27:02 +0200
commitf39ee2f15a5ab52efe12fa4ac50d04e473a613c4 (patch)
treed7fcc2dd6f1993537707f1d5143767140b45bb0a /src
parent26ab26db48c7042a38ab4ded612df29aef75e4ba (diff)
common code: Add support for main loop handler
Diffstat (limited to 'src')
-rw-r--r--src/amps/main.c2
-rw-r--r--src/anetz/main.c2
-rw-r--r--src/bnetz/main.c2
-rw-r--r--src/cnetz/main.c2
-rw-r--r--src/common/main.h2
-rw-r--r--src/common/main_common.c5
-rw-r--r--src/nmt/main.c2
7 files changed, 10 insertions, 7 deletions
diff --git a/src/amps/main.c b/src/amps/main.c
index cc15575..0d78703 100644
--- a/src/amps/main.c
+++ b/src/amps/main.c
@@ -365,7 +365,7 @@ int main(int argc, char *argv[])
fprintf(stderr, "Error setting SCHED_RR with prio %d\n", rt_prio);
}
- main_loop(&quit, latency, interval);
+ main_loop(&quit, latency, interval, NULL);
if (rt_prio > 0) {
struct sched_param schedp;
diff --git a/src/anetz/main.c b/src/anetz/main.c
index f67abbe..76c56aa 100644
--- a/src/anetz/main.c
+++ b/src/anetz/main.c
@@ -193,7 +193,7 @@ int main(int argc, char *argv[])
fprintf(stderr, "Error setting SCHED_RR with prio %d\n", rt_prio);
}
- main_loop(&quit, latency, interval);
+ main_loop(&quit, latency, interval, NULL);
if (rt_prio > 0) {
struct sched_param schedp;
diff --git a/src/bnetz/main.c b/src/bnetz/main.c
index 44379bb..0e69b80 100644
--- a/src/bnetz/main.c
+++ b/src/bnetz/main.c
@@ -208,7 +208,7 @@ int main(int argc, char *argv[])
fprintf(stderr, "Error setting SCHED_RR with prio %d\n", rt_prio);
}
- main_loop(&quit, latency, interval);
+ main_loop(&quit, latency, interval, NULL);
if (rt_prio > 0) {
struct sched_param schedp;
diff --git a/src/cnetz/main.c b/src/cnetz/main.c
index 1027b34..2cc9c54 100644
--- a/src/cnetz/main.c
+++ b/src/cnetz/main.c
@@ -313,7 +313,7 @@ int main(int argc, char *argv[])
fprintf(stderr, "Error setting SCHED_RR with prio %d\n", rt_prio);
}
- main_loop(&quit, latency, interval);
+ main_loop(&quit, latency, interval, NULL);
if (rt_prio > 0) {
struct sched_param schedp;
diff --git a/src/common/main.h b/src/common/main.h
index 6a67717..c2abb6f 100644
--- a/src/common/main.h
+++ b/src/common/main.h
@@ -37,5 +37,5 @@ void opt_switch_common(int c, char *arg0, int *skip_args);
extern int quit;
void sighandler(int sigset);
-void main_loop(int *quit, int latency, int interval);
+void main_loop(int *quit, int latency, int interval, void (*myhandler)(void));
diff --git a/src/common/main_common.c b/src/common/main_common.c
index 68d8584..ac223f4 100644
--- a/src/common/main_common.c
+++ b/src/common/main_common.c
@@ -277,7 +277,7 @@ static int get_char()
}
/* Loop through all transceiver instances of one network. */
-void main_loop(int *quit, int latency, int interval)
+void main_loop(int *quit, int latency, int interval, void (*myhandler)(void))
{
int latspl;
sender_t *sender;
@@ -332,6 +332,9 @@ next_char:
/* process audio of built-in call control */
process_call(c);
+ if (myhandler)
+ myhandler();
+
/* sleep a while */
usleep(interval * 1000);
}
diff --git a/src/nmt/main.c b/src/nmt/main.c
index d696c6f..3e9356b 100644
--- a/src/nmt/main.c
+++ b/src/nmt/main.c
@@ -286,7 +286,7 @@ int main(int argc, char *argv[])
fprintf(stderr, "Error setting SCHED_RR with prio %d\n", rt_prio);
}
- main_loop(&quit, latency, interval);
+ main_loop(&quit, latency, interval, NULL);
if (rt_prio > 0) {
struct sched_param schedp;