[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
why does NSTask setpgrp on sub processes?
From: |
Derek Zhou |
Subject: |
why does NSTask setpgrp on sub processes? |
Date: |
Tue, 19 Jan 2010 00:59:28 -0800 |
User-agent: |
KMail/1.12.4 (Linux/2.6.31; KDE/4.3.4; i686; ; ) |
hi all,
it seems NSTask setpgrp after the fork:
...
/*
* Make sure task is run in it's own process group.
*/
#ifdef HAVE_SETPGRP
#ifdef SETPGRP_VOID
setpgrp();
#else
setpgrp(getpid(), getpid());
#endif
Why is it doing that? Is it simply what Apple is doing?
I am trying to call $EDITOR (normally a TTY process) in my program which has no
gui either.
However I suspect the setpgrp mess up the terminal setting so the EDITOR does
not have the tty. I can tcsetpgrp from my process but then my process is
stopped. Can we do this:
0, just don't setpgrp, or
1, don't setpgrp if the parent's stdin is a tty and not setting the child's
stdin, or
2, add an option not to setpgrp. (it is an additional API though)
I think 1 is the safest route and I can easily make a patch. I can do either 0
or 1 if that's what people want.
Derek
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- why does NSTask setpgrp on sub processes?,
Derek Zhou <=