Part 1: Getting things building again after setting up mold (by dissabling mold)
We start out the session with the confusing error message
Finished test [unoptimized + debuginfo] target(s) in 0.03s Running unittests (target/debug/deps/gm-12c52c9312f49a3a) /home/timothy/pu/gradesta/manager/target/debug/deps/gm-12c52c9312f49a3a: error while loading shared libraries: libzmq.so.5: cannot open shared object file: No such file or directory error: test failed, to rerun pass '--bin gm'
In the end I ended up just dissabling mold which solved the problem. If my new Ryzen processor also has slow linking problems I’ll figure out how to fix it.
Part 2: Refactoring config parsing code and linting various things in the manager
Part 3: Use a tokio main and print out non-garbled error messages and exit with the right exitcode
Part 4: Polish and run lockfile code
Part 5: Cleaning up dangling sockets and orphaned services
Part 6: More cleaning up of dangling sockets
Part 7: More cleaning up of dangling sockets
Part 8: ofiles tests
So I am struggling to understand what the proper type for PIDs are.
u32 because that is what the pid type used by the rust standard library is. This is probably because that is the pid type on Windows (Microsoft defines a DWORD as a
u32), and in POSIX, negative Pids don’t really exist so this is the safe type to use on both systems. However
nix uses an
i32, because that is the type used by glibc and the linux kernel. Since
ofiles is distinctly POSIX bound, yet there are never negative PIDs it seems best to use
i32 natively but implement
u32 as well.
Still working on
ofiles Pid type.
Implementing tests for clean_socket_dir using the test_binary package.
This is the final stream in the series.
- I test launching by hand
- Made websockets and unix sockets optional
- Setup scafholding for main loop
- Renamed clean to clean&kill so it doesn’t get confused with origanize_sockets_dir
- Fixed PID ignoring code so that the files that are being used by ignored PIDs actually get cleaned update- Clarified the licenses a bit
- Moved initialization code over to ageing cellar
- did manual integration testing again