Messages in this thread | | | Date | Fri, 3 Sep 2004 01:06:28 -0700 | From | William Lee Irwin III <> | Subject | Re: INIT hangs with tonight BK pull (2.6.9-rc1+) |
| |
At some point in the past, Dmitry Torokhov wrote: >> Well, I was excited about blowing away 100B from each task but am now >> a bit concerned about the semantic impact of the refcounting part of it. >> It's unclear what pins an ID while a tty has a reference to it without >> the reference counting; Kirill, could you answer this?
On Fri, Sep 03, 2004 at 12:09:10PM +0400, Kirill Korotaev wrote: > stop. > tty doesn't hold reference to ID neither in my patch nor in the original > kernel. > tty only knows session ID and wants to traverse all tasks with such ID. > if task dies it calls detach_pid() and it won't be found in such a loop. > No reference counting is required. > The problem was in loop. Or more exactly my > do_each_task_pid()/while_each_task_pid() macros were incompatible with > continue statement inside. It was really foolish error. Like the most are...
Well, that sounds easy enough to deal with. I suppose the reference counting argument is that the refcounting is on the tty by the tasks and not vice-versa, and disassociate_ctty() cleans up the SID reference.
-- wli - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |