aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src (follow)
Commit message (Collapse)AuthorAge
* move valgrind.sh to scripts/Egor Tensin2023-07-19
|
* net: don't copy data in struct bufEgor Tensin2023-07-18
|
* process: preserve the exit code moreEgor Tensin2023-07-18
| | | | | If the process is killed by a signal, preserve the exit code as it would be reported by $?.
* json_rpc: removed unused routinesEgor Tensin2023-07-18
|
* net: remove unused buf_* routinesEgor Tensin2023-07-18
|
* switch to JSON-RPC as message formatEgor Tensin2023-07-18
| | | | | | Instead of the weird `struct msg` I had, I switched to the JSON-RPC format. It's basically the same, but has a well-defined semantics in case of errors.
* test: add test for segfaulting CI scriptEgor Tensin2023-07-11
| | | | | | | | The C code leaked out of src/, so I moved .clang-format and some compile options to the root directory. Also, I'm starting to hit test execution limits; I'm going to limit the repositories used for stress testing.
* sqlite: make some identifiers more readableEgor Tensin2023-07-11
|
* sqlite: rename SQL schema variablesEgor Tensin2023-07-11
|
* string: add a commentEgor Tensin2023-07-10
|
* test: test long CI run outputEgor Tensin2023-07-10
| | | | It immediately exposed a horrible bug in net.c, which is now fixed.
* store process output in SQLiteEgor Tensin2023-07-09
|
* sqlite: SQL formattingEgor Tensin2023-07-08
|
* test: verify that added runs are in the databaseEgor Tensin2023-07-08
| | | | | And that they're marked as finished. It immediately exposed some concurrency bugs, so some locking has been fixed.
* clang-format: don't break string literalsEgor Tensin2023-07-07
|
* test: add some basic command-line usage testsEgor Tensin2023-07-07
|
* support code coverage report generationEgor Tensin2023-07-07
|
* server: fix a possible leakEgor Tensin2023-07-07
|
* sqlite: minor refactoringEgor Tensin2023-07-07
|
* storage_sqlite: avoid races when inserting reposEgor Tensin2023-07-06
| | | | | Insert first, then query the ID. That way, it'll work even if there're other workers inserting new repos.
* cmake: fix Valgrind runs with Clang buildsEgor Tensin2023-07-06
|
* worker: actually stay offlineEgor Tensin2023-07-05
| | | | | I don't know what I was thinking, but contrary to my intention, the worker stayed connected to the server all the time.
* tcp_server: minor refactoringEgor Tensin2023-07-05
|
* tcp_server: close client connectionsEgor Tensin2023-07-05
| | | | | I kinda forgot that I'm supposed to clean up client connections, and they immediately blew up in my face.
* command: dedupe the codeEgor Tensin2023-07-05
|
* tcp_server: keep track of client threadsEgor Tensin2023-07-05
| | | | | | | This is a major change, obviously; brought to me by Valgrind, which noticed that we don't actually clean up after cimple-client threads. For a more thorough explanation, please see the added comment in tcp_server.c.
* sanitize #include-sEgor Tensin2023-07-04
|
* worker: close the leftover descriptorEgor Tensin2023-07-04
| | | | | Thanks, Valgrind! As a note: if I think that Valgrind reports a false positive, chances are, it's not.
* move custom message parsing to a separate moduleEgor Tensin2023-07-04
|
* storage_sqlite: refactoringEgor Tensin2023-07-04
|
* sqlite: rename a columnEgor Tensin2023-07-04
|
* storage: mark completed runs as suchEgor Tensin2023-07-04
|
* storage: requeue old runs from storage on startupEgor Tensin2023-07-04
|
* tcp_server: always clean up connection descriptorsEgor Tensin2023-07-04
|
* sqlite: store new runs in SQLiteEgor Tensin2023-07-04
|
* storage_sqlite: refactoringEgor Tensin2023-07-04
|
* sqlite: add run status fieldEgor Tensin2023-07-04
|
* fix a compiler warningEgor Tensin2023-07-04
|
* appease clang-formatEgor Tensin2023-07-04
|
* use designated struct initializers moreEgor Tensin2023-06-30
|
* show git hash with --versionEgor Tensin2023-06-30
| | | | Also, use cmake's configure_file to build string constants in.
* fix function names in error messagesEgor Tensin2023-06-30
|
* use __WNOTHREAD w/ waitpidEgor Tensin2023-06-30
| | | | | | | | | | I learned about this flag on my previous job; basically, it should be enabled by default IMO, so that the thread doesn't receive signals from other threads' children. Here, it doesn't matter too much, since we're waiting for a specific child. However, if we were to use waitpid(-1, ...), it would be essential to use this flag. Still, even here, it's good to have this on.
* log: minor refactoringEgor Tensin2023-06-28
|
* process: fix function name in logsEgor Tensin2023-06-28
|
* ci: environment array to execvpe must be NULL-terminatedEgor Tensin2023-06-28
| | | | Thanks, Valgrind.
* log: support logging levelsEgor Tensin2023-06-28
|
* test: skip ci.sh w/ ValgrindEgor Tensin2023-06-28
|
* valgrind: exit with an error after leak detectionEgor Tensin2023-06-28
| | | | I cannot believe this isn't default.
* file: readlink(2) doesn't null-terminateEgor Tensin2023-06-28
| | | | Thanks, valgrind.