Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <20030403024316.13403.qmail@web21205.mail.yahoo.com> Date: Wed, 2 Apr 2003 18:43:16 -0800 (PST) From: gavin bowlby Subject: Re: 1.3.20 : getpgid returns pid != -1 when specified pid no longer exists To: cygwin AT cygwin DOT com, cgf AT redhat DOT com, corinna-cygwin AT cygwin DOT com MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii >Ok. In that event, please provide a simple test case. Christopher, Corinna: Thanks for you help on this! Here's a short program to recreate this problem: ("main.c") ===================================================== int main(int argc, char *argv[]) { int pid, sid, rc; if ((pid = fork()) == 0) { // child thread pid = getppid(); while(1) { rc = sleep(10); printf("child is alive...\n"); if ((sid = getpgid(pid)) == -1) { printf("exiting child process...rc=2\n"); exit(2); } } } else { // parent thread while(1) { rc = sleep(10); printf("parent is alive...\n"); // check if our child process has been killed if ((sid = getpgid(pid)) == -1) exit(3); printf("getpgid of child pid:%d returned pid:%d\n", pid, sid); } } } ========================================== and here are the steps I used to find the problem: 1) bring up Cygwin shell 1 2) gcc main.c 3) a.exe 4) let program run 10-15 seconds to see output from parent and child 5) bring up Cygwin shell 2 6) ps 7) kill -9 8) observe that parent continues to run, and sees the parent's PID reported as the result of the getpgid BTW, the same problem occurs if the parent PID is killed - the child continues to see that the parent PID is alive. The general problem I'm trying to solve here is: Given a long-lived parent process and a long-lived child process, I want the parent and child to be able to detect if the child or parent has died, and if so, exit. Thanks again for your kind assistance. Gavin Bowlby __________________________________________________ Do you Yahoo!? Yahoo! Tax Center - File online, calculators, forms, and more http://tax.yahoo.com -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/