Re: [Lse-tech] [PATCH 09/11] Task watchers: Add support for per-taskwatchers

From: Peter Williams
Date: Tue Jun 20 2006 - 19:22:23 EST


Andrew Morton wrote:
Matt Helsley <matthltc@xxxxxxxxxx> wrote:
+static inline int notify_per_task_watchers(unsigned int val,
+ struct task_struct *task)
+{
+ if (get_watch_event(val) != WATCH_TASK_INIT)
+ return raw_notifier_call_chain(&task->notify, val, task);
+ RAW_INIT_NOTIFIER_HEAD(&task->notify);
+ if (task->real_parent)
+ return raw_notifier_call_chain(&task->real_parent->notify,
+ val, task);
+}
It's possible for this task to exit without returning a result.
Assuming you meant s/task/function/:

In the common case this will return a result because most tasks have a
real parent. The only exception should be the init task. However, the
init task does not "fork" from another task so this function will never
get called with WATCH_TASK_INIT and the init task.

This means that if one wants to use per-task watchers to associate data
and a function call with *every* task, special care will need to be
taken to register with the init task.

no......

It's possible for this function to fall off the end without returning
anything. The compiler should have spat a warning.

I checked and it does.

--
Peter Williams pwil3058@xxxxxxxxxxxxxx

"Learning, n. The kind of ignorance distinguishing the studious."
-- Ambrose Bierce
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/