----- Original Message ----- > > > Adrien, > > > > How does the attached patch work for you? > > Thanks for the quick response time. I am sorry but I am unlikely to be > able to test this patch until mid December. > No problem -- by that time crash-6.0.1 will be released. Plus I also changed the patch slightly (attached). Thanks, Dave
--- cmdline.c 25 Feb 2011 20:24:45 -0000 1.48 +++ cmdline.c 9 Nov 2011 15:57:08 -0000 1.49 @@ -735,9 +735,10 @@ char *arglist[MAXARGS]; int argc; FILE *pipe; - int retries; + int retries, shell_has_exited; retries = 0; + shell_has_exited = FALSE; pc->pipe_pid = pc->pipe_shell_pid = 0; sprintf(lookfor, "(%s)", pc->pipe_command); stall(1000); @@ -757,8 +758,11 @@ p_pid = strtok(NULL, " "); pgrp = strtok(NULL, " "); if (STREQ(name, "(sh)") && - (atoi(p_pid) == getpid())) + (atoi(p_pid) == getpid())) { pc->pipe_shell_pid = atoi(pid); + if (STREQ(status, "Z")) + shell_has_exited = TRUE; + } if (STREQ(name, lookfor) && ((atoi(p_pid) == getpid()) || (atoi(p_pid) == pc->pipe_shell_pid) @@ -778,11 +782,15 @@ closedir(dirp); } - if (!pc->pipe_pid && ((retries++ < 10) || pc->pipe_shell_pid)) { + if (!pc->pipe_pid && !shell_has_exited && + ((retries++ < 10) || pc->pipe_shell_pid)) { stall(1000); goto retry; } - + + console("getpid: %d pipe_shell_pid: %d pipe_pid: %d\n", + getpid(), pc->pipe_shell_pid, pc->pipe_pid); + if (pc->pipe_pid) return pc->pipe_pid;
-- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility