591 Commits

Author SHA1 Message Date
TheAssassin 0d57e9ae9b Log error when pipe creation fails 2020-10-05 22:31:16 +02:00
TheAssassin 407ecc408d Read subprocesses' pipes until they're empty 2020-09-22 13:04:23 +02:00
TheAssassin 8ee0e43c23 Switch to new subprocess lib in type 0 plugins, mk. 3
This commit fixes the remaining buffer issues by introducing a little more complexity. It shall be refactored in the future to decrease complexity again, but for now, it works well and function is more important than form at this point.

CC #143
2020-09-04 18:02:40 +02:00
TheAssassin e9bbbc80f4 Switch to new subprocess lib in type 0 plugins, mk. 2
Apparently fixes all buffer-related crashes, but there's a few minor bugs left.

CC #143
2020-08-31 08:39:43 +02:00
TheAssassin 68f4655fc4 Add method to write from buffers to ldLog streams 2020-08-31 06:30:06 +02:00
TheAssassin 1072c6d9f0 Improve check_output performance 2020-08-31 05:08:24 +02:00
TheAssassin f33dc8dd34 Switch to new subprocess lib in type 0 plugins, mk. 1 2020-08-31 04:41:01 +02:00
TheAssassin 6621f1edf7 Forgot to add pipe reader to CMake 2020-08-31 04:20:40 +02:00
TheAssassin ee73ac6c8e Use new pipe_reader in subprocess's check_output
The class will read until the process quits (or until memory's up).

TODO: reduce load on CPU with some sleep (right now, it's pretty much some busy waiting)
2020-08-31 04:20:03 +02:00
TheAssassin 66691ee882 Add new helper class pipe reader
Implements synchronous, non-block reading from pipes.
2020-08-28 17:36:56 +02:00
TheAssassin e91b459fce Use std::distance instead of pointer arithmetics 2020-08-08 11:54:58 +02:00
TheAssassin 3f86f178a5 Use classic C string handling
That way, we don't have to allocate memory, and it's also shorter.
2020-08-08 11:49:17 +02:00
TheAssassin a8975e0e50 Clean up memory in case exec* fails
Prevents memory leaks.
2020-08-08 11:44:21 +02:00
TheAssassin 6c47939fdc Fix initialization bug 2020-08-08 11:34:02 +02:00
TheAssassin 8663e5bf26 Update license information in help text 2020-08-08 01:06:51 +02:00
TheAssassin 89493e399b Build fully static strip binary 2020-08-08 00:47:54 +02:00
TheAssassin 4d999ef5c6 Build somewhat static strip ourselves 2020-08-08 00:30:28 +02:00
TheAssassin b39dfa6591 Fix static binaries handling 2020-08-08 00:30:28 +02:00
TheAssassin 484ff3f004 Fix C string processing bug
Well, makes sense now that I look at it... but caused a couple of hours worrying why my child processes were crashing until I noticed it'd only happen if I specified custom environment variables...
2020-08-08 00:30:28 +02:00
TheAssassin 8b604871cc Refactor duplicate code into static method 2020-08-08 00:30:28 +02:00
TheAssassin 88dd09f2d1 Set all variables to defaults in header 2020-08-08 00:30:28 +02:00
TheAssassin d43e8a42bf Fix whitespace 2020-08-08 00:30:28 +02:00
TheAssassin 5feef7880e Try to fix waitpid issues 2020-08-08 00:30:28 +02:00
TheAssassin 2b2c6a913f Set default value 2020-08-07 21:22:58 +02:00
TheAssassin aeb0bfa98b Use consistent error message for all plugins 2020-08-07 21:22:58 +02:00