diff options
| author | Dimitri Staessens <dimitri@ouroboros.rocks> | 2026-01-18 18:50:05 +0100 |
|---|---|---|
| committer | Sander Vrijders <sander@ouroboros.rocks> | 2026-01-19 08:35:10 +0100 |
| commit | c20c5bfb40bb65d4196bcf97e80acd97496ddda3 (patch) | |
| tree | 351b452f55934e8468ddbdb79d16ccb7819eab29 /src/ipcpd/unicast/psched.c | |
| parent | c51611c27f766bb4f413485bf8a12bca02e98669 (diff) | |
| download | ouroboros-c20c5bfb40bb65d4196bcf97e80acd97496ddda3.tar.gz ouroboros-c20c5bfb40bb65d4196bcf97e80acd97496ddda3.zip | |
build: Add an option for container compatibility
This adds a BUILD_CONTAINER option that disables some features that
require elevated privileges like setting thread priorities, which
might not be supported in docker environments.
Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks>
Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'src/ipcpd/unicast/psched.c')
| -rw-r--r-- | src/ipcpd/unicast/psched.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/ipcpd/unicast/psched.c b/src/ipcpd/unicast/psched.c index 7e12148b..f74b4065 100644 --- a/src/ipcpd/unicast/psched.c +++ b/src/ipcpd/unicast/psched.c @@ -41,11 +41,13 @@ #include <stdlib.h> #include <string.h> +#ifndef BUILD_CONTAINER static int qos_prio [] = { QOS_PRIO_BE, QOS_PRIO_VIDEO, QOS_PRIO_VOICE, }; +#endif struct psched { fset_t * set[QOS_CUBE_MAX]; @@ -168,6 +170,7 @@ struct psched * psched_create(next_packet_fn_t callback, } } +#ifndef BUILD_CONTAINER for (i = 0; i < QOS_CUBE_MAX * IPCP_SCHED_THR_MUL; ++i) { struct sched_param par; int pol = SCHED_RR; @@ -185,14 +188,17 @@ struct psched * psched_create(next_packet_fn_t callback, if (pthread_setschedparam(psched->readers[i], pol, &par)) goto fail_sched; } +#endif return psched; +#ifndef BUILD_CONTAINER fail_sched: for (j = 0; j < QOS_CUBE_MAX * IPCP_SCHED_THR_MUL; ++j) pthread_cancel(psched->readers[j]); for (j = 0; j < QOS_CUBE_MAX * IPCP_SCHED_THR_MUL; ++j) pthread_join(psched->readers[j], NULL); +#endif fail_infos: for (j = 0; j < QOS_CUBE_MAX; ++j) fset_destroy(psched->set[j]); |
