> > > + }
> > > +}
> > > +#else
> > > +static inline void fork_connector(pid_t parent, pid_t child)
> > > +{
> > > + return;
> > > +}
> > > +#endif /* CONFIG_FORK_CONNECTOR */
> > > +#endif /* __KERNEL__ */
> > > +
> > > +#endif /* CN_FORK_H */
> > > Index: linux-2.6.12-rc3-mm3/include/linux/connector.h
> > > ===================================================================
> > > --- linux-2.6.12-rc3-mm3.orig/include/linux/connector.h 2005-05-09 07:45:56.000000000 +0200
> > > +++ linux-2.6.12-rc3-mm3/include/linux/connector.h 2005-05-09 09:50:01.000000000 +0200
> > > @@ -26,6 +26,8 @@
> > >
> > > #define CN_IDX_CONNECTOR 0xffffffff
> > > #define CN_VAL_CONNECTOR 0xffffffff
> > > +#define CN_IDX_FORK 0xfeed /* fork events */
> > > +#define CN_VAL_FORK 0xbeef
> > >
> > > /*
> > > * Maximum connector's message size.
> > > Index: linux-2.6.12-rc3-mm3/kernel/fork.c
> > > ===================================================================
> > > --- linux-2.6.12-rc3-mm3.orig/kernel/fork.c 2005-05-09 07:45:56.000000000 +0200
> > > +++ linux-2.6.12-rc3-mm3/kernel/fork.c 2005-05-09 08:03:15.000000000 +0200
> > > @@ -41,6 +41,7 @@
> > > #include <linux/profile.h>
> > > #include <linux/rmap.h>
> > > #include <linux/acct.h>
> > > +#include <linux/cn_fork.h>
> > >
> > > #include <asm/pgtable.h>
> > > #include <asm/pgalloc.h>
> > > @@ -63,6 +64,14 @@ DEFINE_PER_CPU(unsigned long, process_co
> > >
> > > EXPORT_SYMBOL(tasklist_lock);
> > >
> > > +#ifdef CONFIG_FORK_CONNECTOR
> > > +/*
> > > + * fork_counts is used by the fork_connector() inline routine as
> > > + * the sequence number of the netlink message.
> > > + */
> > > +static DEFINE_PER_CPU(unsigned long, fork_counts);
> > > +#endif /* CONFIG_FORK_CONNECTOR */
> > > +
> >
> > The above should go into cn_fork.c
>
> I don't see why. It's used by fork_connector which is an inline routine
> so, IMHO, 'fork_counts' must be defined here and declared in
> include/linux/cn_fork.h
>
You said it yourself, it's used by the fork connector not fork.c. You've
already have DECLARE_PER_CPU(unsigned long, fork_counts); in cn_fork.h
so just put
/*
* fork_counts is used by the fork_connector() inline routine as
* the sequence number of the netlink message.
*/
DEFINE_PER_CPU(unsigned long, fork_counts);
in cn_fork.c and remove that chunk from kernel/fork.c
And I don't like putting code like fork_connector() in a header file
even if it is used once only, it's just a simple call/ret...
And before any abi sets itself I think you might want to consider
including both thread & process id of parent & child. This way the
user-space client can distinguish what is a thread and a group leader
although I admittedly don't know all your goals with this, just a
thought.
-
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]