aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src (follow)
Commit message (Collapse)AuthorAge
* fix unnecessary #include-sEgor Tensin2023-05-13
|
* ci_queue -> run_queueEgor Tensin2023-05-13
| | | | Also, some minor refactoring.
* cmake: document _GNU_SOURCE usageEgor Tensin2023-05-13
|
* use -std=c17 -WpedanticEgor Tensin2023-05-13
|
* command: refactoringEgor Tensin2023-05-13
|
* best practices & coding style fixesEgor Tensin2023-05-13
| | | | | | | | * 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.
* add command module to handle request-response communicationsEgor Tensin2023-05-13
|
* ci_queue: fix a broken getterEgor Tensin2023-05-13
| | | | | | 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...
* ci_queue: rename a couple of functionsEgor Tensin2023-05-12
|
* cmake: don't install() valgrind.shEgor Tensin2023-05-07
| | | | Turns out, I don't really need to install it for the tests.
* valgrind: quiet modeEgor Tensin2023-05-07
|
* add tests to run binaries under ValgrindEgor Tensin2023-05-07
| | | | | | | | | | | 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.
* add a cimple-valgrind executableEgor Tensin2023-05-06
|
* add a TODO noteEgor Tensin2023-05-06
|
* shut down server/workers gracefully on SIGTERMEgor Tensin2023-05-06
|
* get rid of __attribute__((constructor))Egor Tensin2023-05-06
| | | | Explicit is better than implicit.
* add a default SQLite database pathEgor Tensin2023-04-29
|
* cmd_line: read executable name from /proc/self/exeEgor Tensin2023-04-29
|
* dedupe command line routinesEgor Tensin2023-04-29
|
* make struct storage_settings_sqlite opaqueEgor Tensin2023-04-29
|
* make struct ci_queue_entry opaqueEgor Tensin2023-04-29
|
* net: use size instead of length for variable namesEgor Tensin2023-04-29
|
* net: add struct bufEgor Tensin2023-04-29
|
* make struct client opaqueEgor Tensin2023-04-29
|
* make struct worker opaqueEgor Tensin2023-04-29
|
* make struct server opaqueEgor Tensin2023-04-29
|
* make struct tcp_server opaqueEgor Tensin2023-04-29
|
* fix a typoEgor Tensin2023-04-27
|
* rename commandsEgor Tensin2023-04-27
|
* sqlite: fix error handlingEgor Tensin2023-04-11
|
* put SQL headers to a separate directoryEgor Tensin2023-04-11
|
* sqlite: create indicesEgor Tensin2023-04-11
|
* actually create some tables in SQLite databaseEgor Tensin2023-04-11
|
* add copyright noticesEgor Tensin2022-12-02
|
* create SQLite database on startupEgor Tensin2022-09-11
|
* log: refactoringEgor Tensin2022-09-08
|
* log: prepend timestampsEgor Tensin2022-09-08
|
* sanitize #include-sEgor Tensin2022-09-08
|
* ci: set some environment variablesEgor Tensin2022-09-07
|
* net: removed unused APIEgor Tensin2022-08-30
|
* net: error out unless net_recv_all receives all bytesEgor Tensin2022-08-30
|
* net: more portableEgor Tensin2022-08-30
| | | | Use a predefined byte order, integers with fixed width, etc.
* net: bind to IPv6Egor Tensin2022-08-30
| | | | | This makes sure we use the dual-stack feature to support both IPv4 and IPv6.
* update command namesEgor Tensin2022-08-28
|
* docker: shorten command valuesEgor Tensin2022-08-28
|
* server: notify workers about requeued jobsEgor Tensin2022-08-28
| | | | This allows free workers to pick up jobs after dead workers.
* worker: fix a crashEgor Tensin2022-08-28
| | | | Found when running in Docker.
* server: notify all threads about shutting downEgor Tensin2022-08-28
| | | | | | | 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
* make proper "error" messagesEgor Tensin2022-08-28
| | | | | Previously, the client had no way to distinguish errors from succesful calls.
* fix Alpine buildsEgor Tensin2022-08-28
|