Mail Archives: cygwin/2004/11/12/12:56:15
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 -