Commits on Source (22)
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
In principle we could be invoked with --regenerate-ld.so.cache but without --set-ld-library-path (although pv-wrap never actually does this). Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Helps: steamrt/tasks#357, steam-runtime#630 Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Previously, only --verbose or PRESSURE_VESSEL_VERBOSE would have activated this. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
environ can in principle be NULL. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This makes us somewhat more const-correct, reducing the scope for accidents. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This will let us bundle together more of the subprocess handling for running helpers. For now, it is just a container for the environment, helpers path and test flags. This is an immutable value-object which does not change after it has been constructed, meaning that we can share it between threads if that becomes useful in future. No functional change intended. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
my_environ had the same content as custom_environ, so we can use our new const-correct wrapper _srt_environ_getenv without any casts or copying. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Previously we ignored the parameter and used default values here. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
If we make _srt_inspect_library responsible for filtering out the gameoverlayrenderer.so from LD_PRELOAD itself, then we can give it the unmodified execution environment as its argument. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This encapsulates `g_spawn_sync()` with a useful set of flags and behaviours, and will let us move the responsibility for handling features like timeouts between `get_helper()` and `spawn_sync()`. To make that work, try harder to pass the same flags to both `get_helper()` and `spawn_sync()`. For `architecture`, `display`, `graphics-drivers` and `libdl`, no behaviour change is intended. `display` and `graphics-drivers` should probably not be using `KEEP_GAMEOVERLAYRENDERER` (there's no real reason to do so) but for now, preserve existing behaviour. For `library`, we were previously passing `G_SPAWN_SEARCH_PATH` to `g_spawn_sync()`, but it would have had no practical effect, because we're using the absolute path to a helper executable. Drop that flag. For `graphics`, we were previously searching the `PATH` for everything except `check-gl`. Consistently search the `PATH` in all cases. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Now that SrtSubprocessRunner knows both the SrtTestFlags and SrtHelperFlags, it can always set the timeout appropriately. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
The `display` and `graphics-drivers` checks historically didn't, but that seems more like accident than design. We can add a way to avoid this filtering if we find that we need it in future. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
During refactoring I noticed that these would previously have inherited the parent process's stdout and stderr file descriptors, potentially interfering with machine-readable output on stdout. Clean that up. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This ensures that if our log output has been redirected to the systemd Journal, the helper's diagnostic output will follow. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
During refactoring I noticed that this function was capturing stdout and stderr, but didn't actually do anything with them. Let's have these in a debug log. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This is loosely based on the API of Python's `subprocess.CompletedProcess`. It intentionally isn't exposed to code outside its translation unit until it has finished running. This takes over the functionality of _srt_process_timeout_wait_status(), which is used automatically when needed for timeout(1), and can also be requested explicitly with SRT_HELPER_FLAGS_SHELL_EXIT_STATUS if using a wrapper that encodes exit status in the same way such as sh(1) or env(1). No functional change intended. The formatting of debug messages will be a little different, because I've used SRT_SUBPROCESS_OUTPUT_CAPTURE_DEBUG instead of open-coding its equivalent. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Ludovico de Nittis authored
Add an object encapsulating the execution environment for helper subprocesses See merge request !629
-
Ludovico de Nittis authored
subprocess: Add a SrtCompletedSubprocess object to represent the result See merge request !625
-
Ludovico de Nittis authored
pv-adverb: Show contents of ld.so.cache if debug output is enabled See merge request !630
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
Showing
- bin/launcher-service.c 1 addition, 1 deletionbin/launcher-service.c
- debian/changelog 10 additions, 2 deletionsdebian/changelog
- pressure-vessel/adverb.c 45 additions, 6 deletionspressure-vessel/adverb.c
- pressure-vessel/runtime.c 4 additions, 4 deletionspressure-vessel/runtime.c
- pressure-vessel/runtime.h 1 addition, 1 deletionpressure-vessel/runtime.h
- pressure-vessel/wrap-setup.c 4 additions, 4 deletionspressure-vessel/wrap-setup.c
- pressure-vessel/wrap-setup.h 2 additions, 2 deletionspressure-vessel/wrap-setup.h
- pressure-vessel/wrap.c 9 additions, 9 deletionspressure-vessel/wrap.c
- steam-runtime-tools/architecture-internal.h 3 additions, 2 deletionssteam-runtime-tools/architecture-internal.h
- steam-runtime-tools/architecture.c 21 additions, 30 deletionssteam-runtime-tools/architecture.c
- steam-runtime-tools/display-internal.h 2 additions, 3 deletionssteam-runtime-tools/display-internal.h
- steam-runtime-tools/display.c 31 additions, 42 deletionssteam-runtime-tools/display.c
- steam-runtime-tools/graphics-drivers-egl.c 8 additions, 9 deletionssteam-runtime-tools/graphics-drivers-egl.c
- steam-runtime-tools/graphics-drivers-json-based-internal.h 2 additions, 2 deletionssteam-runtime-tools/graphics-drivers-json-based-internal.h
- steam-runtime-tools/graphics-drivers-json-based.c 7 additions, 10 deletionssteam-runtime-tools/graphics-drivers-json-based.c
- steam-runtime-tools/graphics-drivers-vulkan.c 30 additions, 30 deletionssteam-runtime-tools/graphics-drivers-vulkan.c
- steam-runtime-tools/graphics-drivers.c 94 additions, 118 deletionssteam-runtime-tools/graphics-drivers.c
- steam-runtime-tools/graphics-internal.h 9 additions, 14 deletionssteam-runtime-tools/graphics-internal.h
- steam-runtime-tools/graphics.c 78 additions, 72 deletionssteam-runtime-tools/graphics.c
- steam-runtime-tools/libdl-internal.h 4 additions, 4 deletionssteam-runtime-tools/libdl-internal.h
This diff is collapsed.