]> Kevux Git Server - fll/commit
Update: rewrite the execute functions to accept a parameter structure.
authorKevin Day <thekevinday@gmail.com>
Sat, 19 Dec 2020 04:55:00 +0000 (22:55 -0600)
committerKevin Day <thekevinday@gmail.com>
Sat, 19 Dec 2020 04:55:00 +0000 (22:55 -0600)
commit98a44214dfad50d64797880c63ab644ae751eae8
tree1284b810387ab6f572c074d129954d768cac43b2
parentf604e32efb2385ee6748171e2dfc0666cafe62cf
Update: rewrite the execute functions to accept a parameter structure.

This changes the programs so that the execute function that handles piping data to the child in a separate function to normal execute function.
This happens via a private function and is therefore transparent to the caller.

The caller can select options to pass to tweak the operation of the execute function.
While I do not like using structures in this way as it complicate the code in one respect, in another respect it simplifies things.
There are also fewer parameters passed which is easier on the registers.

The f_execute_asynchronous_t structure is not needed with this design.
Future changes will include a new project (likely called f_asynchronous) to assist in performing asynchronous tasks.

Note: this go around I am trying constant pointers.
This makes it compatible when passing constants through.
20 files changed:
build/level_1/settings
build/monolithic/settings
build/scripts/bootstrap-example.sh
level_0/f_execute/c/execute-common.h
level_1/fl_execute/c/execute-common.h [new file with mode: 0644]
level_1/fl_execute/c/execute.h [new file with mode: 0644]
level_1/fl_execute/data/build/defines [new file with mode: 0644]
level_1/fl_execute/data/build/dependencies [new file with mode: 0644]
level_1/fl_execute/data/build/settings [new file with mode: 0644]
level_2/fll_execute/c/execute.c
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_3/controller/c/private-rule.c
level_3/fake/c/private-build.c
level_3/fake/c/private-fake.c
level_3/fake/c/private-make.c
level_3/firewall/c/firewall.c
level_3/firewall/c/private-firewall.c