diff --git a/tools/portal-probe/portal-probe.c b/tools/portal-probe/portal-probe.c index 7dbb080f..cf2e5a7f 100644 --- a/tools/portal-probe/portal-probe.c +++ b/tools/portal-probe/portal-probe.c @@ -404,6 +404,14 @@ static int do_screenshot(DBusConnection *bus) int main(int argc, char **argv) { + /* Línea a línea, SIEMPRE — no sólo cuando la salida es una terminal. Redirigida a fichero, + * stdout se bufferiza por bloques y el log queda vacío mientras la sonda espera: justo el + * tramo que interesa mirar. Medido el 2026-08-06 depurando ScreenCast en metal — la sonda + * llevaba minutos esperando un Response y el fichero mostraba sólo la línea de la llamada, + * que se lee como «se colgó al llamar» cuando en realidad estaba esperando como debía. Una + * sonda que no se puede leer MIENTRAS mide es media sonda. */ + setvbuf(stdout, NULL, _IOLBF, 0); + const char *cmd = argc > 1 ? argv[1] : "version"; int multiple = 0, window = 0, save = 0; for (int i = 2; i < argc; i++) {