guile-devel
[Top][All Lists]
Advanced

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

Re: 1.6.0 and guardians


From: Dirk Herrmann
Subject: Re: 1.6.0 and guardians
Date: Thu, 6 Sep 2001 19:24:21 +0200 (MEST)

On 6 Sep 2001, Michael Livshin wrote:

> > Then I'd rather use an operation 'unguard' that unguards a single
> > object.
> 
> that wouldn't do the trick.
> 
> the situation is actually very similar to the situation with file
> ports.  an open file port holds a scarce system resource (a file
> descriptor).  a live greedy guardian also holds a scarce system
> resource -- the ability to guard the objects in it.
> 
> ports have the `close' function, in order to achieve explicit control
> over the use of their scarce resource.  so do greedy guardians.

Hmmm... I still don't get it:  What is the resource you want to re-use by
destroying the guardian?  With ports, closing one port allows you to open
another one.  With guardians, you can open as many as you like.

The scarce resource is actually the possibility to register a single
object.  If an object is registered with a guardian, you can not register
it again.  But, if you want to register the same object again (potentially
with a different guardian), why do you have to destroy the guardian as a
whole, thereby also unguarding a lot of other objects?

This is the reason why I suggested to rather use `unguard´ for a single
object:  You obtain the desired resource, namely the possibility to
register the desired object again.

However:  Again I want to make it clear that I don't consider
`destroy-guardian!´, nor `unguard´ nor `guarded?´ as useful concepts.

Best regards
Dirk Herrmann




reply via email to

[Prev in Thread] Current Thread [Next in Thread]