delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2004/11/12/12:56:15

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Date: Fri, 12 Nov 2004 12:56:03 -0500
From: Christopher Faylor <cgf-no-personal-reply-please AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: howto register process
Message-ID: <20041112175603.GB28975@trixie.casa.cgf.cx>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <873bzfdyvh DOT fsf AT zlatenlist DOT homelinux DOT net> <NUTMEG0ApIWXzNbrDYs000006c2 AT NUTMEG DOT CAM DOT ARTIMI DOT COM> <87sm7fxeza DOT fsf AT zlatenlist DOT homelinux DOT net> <20041112154218 DOT GI26737 AT trixie DOT casa DOT cgf DOT cx> <874qjvezwn DOT fsf AT zlatenlist DOT homelinux DOT net>
Mime-Version: 1.0
In-Reply-To: <874qjvezwn.fsf@zlatenlist.homelinux.net>
User-Agent: Mutt/1.4.1i

On Fri, Nov 12, 2004 at 07:32:40PM +0200, Kamen TOMOV wrote:
>On Fri, Nov 12 2004, Christopher Faylor wrote:
>
>> On Fri, Nov 12, 2004 at 05:29:45PM +0200, Kamen TOMOV wrote:
>>
>> >That's a great idea. I'll stick with it and will rewrite the
>> >application to start the daemons from the cygwin's shell. That
>> >would make my life much easier because instead of rewriting the
>> >cygwin's fork function to register processes in its own virtual
>> >table (although I do not know if that is possible) they would be
>> >instantly available. It was strange to me that fork do not make
>> >them appear there but anyway... thank you very much!
>> 
>> I can't shake the feeling that we are dancing around a misconception
>> here somewhere.
>> 
>> The bash shell doesn't do anything magical when it starts processes.
>> If you are using cygwin's fork then you shouldn't be worrying about
>> "windows pids".  If you are running a cygwin program which uses fork
>> and exec then the processes that it creates are cygwin processes and
>> you will be able to manipulate them using normal UNIX functions.
>> 
>> If you are calling cygwin_winpid_to_pid on a pid that you got from a
>> fork(), or spawn*() call then that is not right.
>> 
>> cgf
>
>It's for sure that there are some things that are not quite clear, but
>in a nutshell:
>
>We have a daemon compiled with cygwin's fork, kill, etc.
>
>1st scenario: 
>
>- the daemon gets started as a Windows service
>- the daemon forks (calling the cygwin's version of fork()) and as a
>result we have a few children.
>
>The facts:
>
>- neither the daemon, nor its children are seen by cygwins's ps.exe or
>  could be killed with kill.exe, or kill().
>
>- calling cygwin_winpid_to_pid on the parent's pid or any of its
>  children's pid returns the error result: -1.

*Why* are you calling cygwin_winpid_to_pid on the pids?  If you are
getting the pid from the return value of fork they are cygwin pids.
You don't call cygwin_winpid_to_pid on them.  A normal cygwin program
should not be using cygwin_winpid_to_pid.

As Pierre points out in the next message, what you are describing seems
normal for starting a service in certain scenarios but you still haven't
explained why you think you need cygwin_winpid_to_pid.

cgf

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019