]> Kevux Git Server - fll/commit
Progress: controller program and other minor tweaks.
authorKevin Day <thekevinday@gmail.com>
Mon, 4 Jan 2021 03:20:05 +0000 (21:20 -0600)
committerKevin Day <thekevinday@gmail.com>
Mon, 4 Jan 2021 03:23:32 +0000 (21:23 -0600)
commit162c91b8c4eff481e6aa41b23d84efae948ef015
tree7a0cbe0c1e773498b82b6583d797b44bc6c31f4e
parent1d4cbaa61f225650c54e2f2bc4ad19c7caaf81ea
Progress: controller program and other minor tweaks.

Add support for "affinity" and "limit" to the controller program (and the execute functions from the execute projects).

The "affinity" allows settings specific CPUs to run the process on.

The "limit" allows for customizing the resource limits (ie: ulimit) in the process.
The resource names are used as-is, such as defined in /etc/security/limits.conf on some Linux systems.
Only the well known resource types are supported.
(For example, debian systems has 'chroot', which is not supported by this implementation at this time.)

New projects are added to address these features.
A project f_schedule is suggested by the comments added in this commit and may be introduced on a later date.

Minor tweaks includes using a global static variable for the space as a string " ".
49 files changed:
build/level_0/settings
build/level_2/settings
build/monolithic/settings
build/scripts/bootstrap-example.sh
level_0/f_control_group/c/control_group.h
level_0/f_execute/c/execute-common.h
level_0/f_execute/c/execute.h
level_0/f_fss/c/fss.h
level_0/f_limit/c/limit-common.h [new file with mode: 0644]
level_0/f_limit/c/limit.c [new file with mode: 0644]
level_0/f_limit/c/limit.h [new file with mode: 0644]
level_0/f_limit/c/private-limit.c [new file with mode: 0644]
level_0/f_limit/c/private-limit.h [new file with mode: 0644]
level_0/f_limit/data/build/defines [new file with mode: 0644]
level_0/f_limit/data/build/dependencies [new file with mode: 0644]
level_0/f_limit/data/build/settings [new file with mode: 0644]
level_0/f_status/c/status.h
level_0/f_string/c/string-common.h
level_0/f_string/c/string.h
level_0/f_type/c/type_array.h
level_1/fl_execute/c/execute-common.h
level_1/fl_execute/c/execute.h
level_1/fl_execute/data/build/dependencies
level_1/fl_execute/data/build/settings
level_1/fl_status/c/status.c
level_1/fl_status/c/status.h
level_2/fll_execute/c/execute.h
level_2/fll_execute/c/private-execute.c
level_2/fll_execute/c/private-execute.h
level_2/fll_execute/data/build/dependencies
level_2/fll_execute/data/build/settings
level_2/fll_program/c/program.c
level_2/fll_status/c/status.c
level_3/byte_dump/c/private-byte_dump.c
level_3/controller/c/controller.c
level_3/controller/c/private-common.h
level_3/controller/c/private-controller.c
level_3/controller/c/private-entry.c
level_3/controller/c/private-rule.c
level_3/controller/c/private-rule.h
level_3/controller/data/build/settings
level_3/controller/data/settings/example/rules/command/multiple.rule
level_3/controller/documents/rule.txt
level_3/controller/specifications/rule.txt
level_3/fake/c/private-build.c
level_3/fake/c/private-make.c
level_3/fake/data/build/settings
level_3/firewall/data/build/settings
level_3/iki_read/c/iki_read.c