Re: [ANNOUNCE] udev 015 release

Kay Sievers
2004-01-31T18:15:45Z

On Sat, Jan 31, 2004 at 07:54:57PM +0200, Martin Schlemmer wrote:
> On Sat, 2004-01-31 at 05:17, Kay Sievers wrote:
> > On Thu, Jan 29, 2004 at 01:55:29PM -0800, Greg KH wrote:
> > > On Thu, Jan 29, 2004 at 06:52:05PM +0200, Martin Schlemmer wrote:
> > > > On Mon, 2004-01-26 at 23:50, Greg KH wrote:
> > > >
> > > > Is there a known issue that the daemon do not spawn?
> > >
> > > Hm, I don't know. This code is under major flux right now...
> >
> > Hi Martin,
> > sorry, the code in the tree doesn't work.
> > I decided to try pthreads, cause I gave up with the I/O multiplexing,
> > forking and earning SIGCHLDS for manipulating the global lists.
> >
> > The multithreaded udevd takes multiple events at the same time on a unix
> > domain socket, sorts it in a linked list and handles the timeouts if
> > events are missing.
> > It executes our current udev in the background and delays the execution
> > for events with the same DEVPATH. So we serialize the events only for
> > different devices.
> >
> > I've posted the latest patch to the list a few minutes ago.
> > If you like, I'm happy to hear from your testing :)
> >
> > If we decide not to stay with the threads model, cause klibc doesn't
> > support it now and ..., we at least have a working model to implement
> > in a different way.
> >
>
> Thanks - I wanted to have a go at it, but after not working, wanted to
> check if it might be my setup, or known issue ... I will see if I can
> get time to test your latest patch - anything specific you need testing
> of ?

Nothing specific, I just need to know if it's working on other setups too :)

Just compile it with DEBUG=true and let the '/etc/hotplug.d/default/udev.hotplug'
symlink point to udevsend instead of udev. udevd will be automatically started.
On reboot the first sequence I get in the syslog is 138 and udevd is pid [51].

Don't mount /udev as tmpfs. udevd places its socket and lock file in there,
long before you mount it over. I just recognized it cause I had two
udevd running. /var/lock doesn't work cause it's also cleaned up after we
are running.

You may watch the syslog while connecting/disconnecting devices, to see if
the events are applied in the right order.

thanks,
Kay