On Wed, Nov 20, 2013 at 01:18:17PM +0100, Justus Winter wrote:
> Quoting Richard Braun (2013-11-20 12:13:20)
> > I'm not sure to grasp the relation between this patch and deadlock
> > avoidance. I also don't see what's wrong with generating data at open
> > time.
> 
> Suppose you have
> 
>   settrans -ac /foo /hurd/mtab /
> 
> If you now access /foo, the mtab translator will walk the tree of all
> active translators starting from /. If it visits /foo, it will talk to
> itself. Previously the translator migitated this by comparing the
> control port of the translator with its own. This does not work if you
> got two mtab translators like this:
> 
>   settrans -ac /foo /hurd/mtab /
>   settrans -ac /bar /hurd/mtab /
> 
> With a single-threaded mtab server this results in a dead-lock, with a
> multi-threaded server this will create more and more threads.
> 
> Delaying the data generation until it is really needed avoids this
> problem.

Right, looks fine, but please, explain this as clearly as you just did
in the source code. It's usually much simpler and not much less
performant to generate data at open time. Exceptions to that practice
need a valid reason to be given.

-- 
Richard Braun

Reply via email to