aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src (unfollow)
Commit message (Collapse)Author
2023-05-13ci_queue -> run_queueEgor Tensin
Also, some minor refactoring.
2023-05-13cmake: document _GNU_SOURCE usageEgor Tensin
2023-05-13use -std=c17 -WpedanticEgor Tensin
2023-05-13command: refactoringEgor Tensin
2023-05-13best practices & coding style fixesEgor Tensin
* I don't really need to declare all variables at the top of the function anymore. * Default-initialize variables more. * Don't set the output parameter until the object is completely constructed.
2023-05-13add command module to handle request-response communicationsEgor Tensin
2023-05-13ci_queue: fix a broken getterEgor Tensin
Everything was broken starting from the "making struct ci_queue_entry opaque" commit. Damn, I really wish I'd have some kind of automated testing to catch errors like this...
2023-05-12ci_queue: rename a couple of functionsEgor Tensin
2023-05-07cmake: don't install() valgrind.shEgor Tensin
Turns out, I don't really need to install it for the tests.
2023-05-07valgrind: quiet modeEgor Tensin
2023-05-07add tests to run binaries under ValgrindEgor Tensin
This was quite a bit of refactoring in test/; everything should be more maintainable and robust in theory. Also, valgrind.sh was fixed to use exec (so that signals are passed to the underlying process); Valgrind command line options have also been tweaked. ./ci.sh fails now, but that should be fixable.
2023-05-06add a cimple-valgrind executableEgor Tensin
2023-05-06add a TODO noteEgor Tensin
2023-05-06shut down server/workers gracefully on SIGTERMEgor Tensin
2023-05-06get rid of __attribute__((constructor))Egor Tensin
Explicit is better than implicit.
2023-04-29add a default SQLite database pathEgor Tensin
2023-04-29cmd_line: read executable name from /proc/self/exeEgor Tensin
2023-04-29dedupe command line routinesEgor Tensin
2023-04-29make struct storage_settings_sqlite opaqueEgor Tensin
2023-04-29make struct ci_queue_entry opaqueEgor Tensin
2023-04-29net: use size instead of length for variable namesEgor Tensin
2023-04-29net: add struct bufEgor Tensin
2023-04-29make struct client opaqueEgor Tensin
2023-04-29make struct worker opaqueEgor Tensin
2023-04-29make struct server opaqueEgor Tensin
2023-04-29make struct tcp_server opaqueEgor Tensin
2023-04-27fix a typoEgor Tensin
2023-04-27rename commandsEgor Tensin
2023-04-11sqlite: fix error handlingEgor Tensin
2023-04-11put SQL headers to a separate directoryEgor Tensin
2023-04-11sqlite: create indicesEgor Tensin
2023-04-11actually create some tables in SQLite databaseEgor Tensin
2022-12-02add copyright noticesEgor Tensin
2022-09-11create SQLite database on startupEgor Tensin
2022-09-08log: refactoringEgor Tensin
2022-09-08log: prepend timestampsEgor Tensin
2022-09-08sanitize #include-sEgor Tensin
2022-09-07ci: set some environment variablesEgor Tensin
2022-08-30net: removed unused APIEgor Tensin
2022-08-30net: error out unless net_recv_all receives all bytesEgor Tensin
2022-08-30net: more portableEgor Tensin
Use a predefined byte order, integers with fixed width, etc.
2022-08-30net: bind to IPv6Egor Tensin
This makes sure we use the dual-stack feature to support both IPv4 and IPv6.
2022-08-28update command namesEgor Tensin
2022-08-28docker: shorten command valuesEgor Tensin
2022-08-28server: notify workers about requeued jobsEgor Tensin
This allows free workers to pick up jobs after dead workers.
2022-08-28worker: fix a crashEgor Tensin
Found when running in Docker.
2022-08-28server: notify all threads about shutting downEgor Tensin
The problem is pthread_cond_destroy is unsafe to call if there're threads waiting in pthread_cond_wait. I'm not sure this fix is enough: what if the "broadcast" doesn't reach the threads until we call pthread_cond_destroy? Does it even work that way? Idk
2022-08-28make proper "error" messagesEgor Tensin
Previously, the client had no way to distinguish errors from succesful calls.
2022-08-28fix Alpine buildsEgor Tensin
2022-08-28don't use the latest glibc featuresEgor Tensin
pthread_attr_setsigmask_np is only available since 2.32, which is too modern.