On Wed, 2005-02-23 at 14:41 +0300, Evgeniy Polyakov wrote: > > Please assume that <whatever secret application the connector stuff was > > originally written for> will always be listening. > > > > > > What happened to the idea of sending an on/off message down the netlink > > > > socket? > > ... > > Arrange for the userspace daemon to send a message to the fork_connector > > subsystem turning it on or off. So we can bypass all this code in the > > common case where <secret application> is listening, but your daemon is > > not. > > Ok, now I see(I'm not a fork connector author, so I did not receive them). > That will require to add real fork connector with callback routing. > Guillaume?
Yes the connector's callback is a good solution. I will add a fork enable/disable callback in drivers/connector/connector.c that will switch a global variable when called from user space. It will be something like: void cn_fork_callback(void) { if (cn_already_initialized) cn_fork_enable = cn_fork_enable ? 0 : 1 ; } With cn_fork_enable set to 0 by default. In the do_fork() I will replace the statement "if (cn_already_initialized)" by "if (cn_fork_enable)" > > Without a lock you can have two messages with the same sequence number. > > Even if the daemon which you're planning on implementing can handle that, > > we shouldn't allow it. > > Yes, they can have the same number, but does it cost atomic/lock overhead? > Anyway, simple spin_lock() should be enough in do_fork() context. > Guillaume? I will protect the incrementation by a spin_lock(&fork_cn_lock). Guillaume - 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/