aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src (unfollow)
Commit message (Collapse)Author
2022-08-26fix macrosEgor Tensin
do { ... } while (0) is objectively better: https://stackoverflow.com/q/1067226/514684
2022-08-26fix pthread error handlingEgor Tensin
pthread functions return positive error codes.
2022-08-26worker: allow graceful shutdownsEgor Tensin
Well, maybe "graceful" is a strong word, but now you _can_ do ./server & ./worker & ./client ci_run URL REV && kill "$( pidof worker )" and the worker will wait for the CI run to complete.
2022-08-26worker: capture process outputEgor Tensin
2022-08-26add some more codeEgor Tensin
This adds a basic "worker" program. You can now do something like ./server & ./worker & ./client ci_run URL REV and the server should pass a message to worker, after which it should clone the repository at URL, checkout REV, and try to run the CI script. It's extremely unfinished: I need to sort out the graceful shutdown, how the server manages workers, etc.
2022-08-25cmake: ignore unused parameters for nowEgor Tensin
This is a dumb warning.
2022-08-25msg: add msg_copy, refactoringEgor Tensin
2022-08-25msg: refactoringEgor Tensin
2022-08-25net: rework APIEgor Tensin
First, rename all API functions so that they start with net_. Second, abstract the basic TCP server functionality into tcp_server.c. This includes reworking net_accept so that it's a simple blocking operation, and putting the callback stuff to tcp_server.c. Also, the server now uses detached threads instead of fork(), since I want connection handlers to share memory.
2022-08-25msg: add msg_dump_unknownEgor Tensin
2022-08-25log: add print_log macroEgor Tensin
2022-08-23cmd -> msgEgor Tensin
This I feel better conveys the meaning.
2022-08-23remove redundant codeEgor Tensin
2022-08-23cmd: add cmd_from_argvEgor Tensin
2022-08-23net: use CLOEXECEgor Tensin
I've only recently learned about this flag, seems generally useful.
2022-08-23net: fix recv_allEgor Tensin
Make sure we handle read() returning 0, this is a valid use-case.
2022-08-23add some codeEgor Tensin
A basic client-server app, the client sends commands as an array of strings. Hopefully I didn't mess up, and hopefully it'll be useful.