Re: [PATCH 02/11] Task watchers: Register process events task watcher

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday 13 June 2006 18:54, Matt Helsley wrote:

> +static int cn_proc_watch_task(struct notifier_block *nb, unsigned long
> val, +			      void *t)
> +{
> +	struct task_struct *task = t;

Why the copy?

> +	int rc = NOTIFY_OK;
> +
> +	switch (get_watch_event(val)) {
> +	case WATCH_TASK_CLONE:
> +		proc_fork_connector(task);
> +		break;
> +	case WATCH_TASK_EXEC:
> +		proc_exec_connector(task);
> +		break;
> +	case WATCH_TASK_UID:
> +		proc_id_connector(task, PROC_EVENT_UID);
> +		break;
> +	case WATCH_TASK_GID:
> +		proc_id_connector(task, PROC_EVENT_GID);
> +		break;
> +	case WATCH_TASK_EXIT:
> +		proc_exit_connector(task);
> +		break;
> +	default: /* we don't care about WATCH_TASK_INIT|FREE because we
> +		    don't keep per-task info */
> +		rc = NOTIFY_DONE; /* ignore all other notifications */
> +		break;
> +	}
> +	return rc;
> +}
> +

>  /*
>   * cn_proc_init - initialization entry point
>   *
>   * Adds the connector callback to the connector driver.
>   */
> @@ -219,11 +259,16 @@ static int __init cn_proc_init(void)
>  	int err;
>
>  	if ((err = cn_add_callback(&cn_proc_event_id, "cn_proc",
>  	 			   &cn_proc_mcast_ctl))) {
>  		printk(KERN_WARNING "cn_proc failed to register\n");
> -		return err;
> +		goto out;
>  	}
> -	return 0;
> +
> +	err = register_task_watcher(&cn_proc_nb);
> +	if (err != 0)

if (err)

Thanks,
Chase
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux