On Wed, Oct 16, 2019 at 06:24:09PM +0200, Oleg Nesterov wrote:
On 10/16, Christian Brauner wrote:
+static inline bool task_alive(struct pid *pid, enum pid_type type) +{
- return !hlist_empty(&pid->tasks[type]);
+}
So you decided to add a helper ;) OK, but note that its name is very confusing and misleading. Even more than pid_alive() we already have.
That's why I chose that name. This is the second time I get bitten by taking inspiration from prior naming examples. :)
What does "alive" actually mean? Say, task_alive(pid, PIDTYPE_SID) == F after fork(). Then it becomes T if this task does setsid().
Yes, that annoyed me to. If you think about pidfd_open() you have a similar problem. The question we are asking in pidfd_open() is not task_alive() but rather was-this-pid-used-as.
And why task_ if it accepts pid+pid_type? May be pid_has_task() or something like this...
Given what I said above that might be a decent name.
OK, since I can't suggest a better name I won't really argue. Feel free to add my reviewed-by to this series.
No, naming is important. Thanks for being picky about that too and I'll happily resend. :)
Thanks! Christian