summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>2023-03-06 10:59:29 +0100
committerLaurent Vivier <laurent@vivier.eu>2023-03-10 20:42:00 +0100
commit25bb27c715f6ea7cd68561112cbfc1dba4ff46bd (patch)
tree5916570f641c92949765a1da992fab4c443d7d1e
parentd2796be69d7c14b8675e87af54b1e469bf509fe3 (diff)
downloadfocaccia-qemu-25bb27c715f6ea7cd68561112cbfc1dba4ff46bd.tar.gz
focaccia-qemu-25bb27c715f6ea7cd68561112cbfc1dba4ff46bd.zip
linux-user: fill out task state in /proc/self/stat
Some programs want to match an actual task state character.

Signed-off-by: Andreas Schwab <schwab@suse.de>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <mvmedq2kxoe.fsf@suse.de>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
-rw-r--r--linux-user/syscall.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 69cc4b6e42..49a4fee899 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -8079,6 +8079,9 @@ static int open_self_stat(CPUArchState *cpu_env, int fd)
             gchar *bin = g_strrstr(ts->bprm->argv[0], "/");
             bin = bin ? bin + 1 : ts->bprm->argv[0];
             g_string_printf(buf, "(%.15s) ", bin);
+        } else if (i == 2) {
+            /* task state */
+            g_string_assign(buf, "R "); /* we are running right now */
         } else if (i == 3) {
             /* ppid */
             g_string_printf(buf, FMT_pid " ", getppid());