--lBR2yNlwcY132B3M
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

ahoward (ahoward / fsl.noaa.gov) wrote:

> 
> if one has an object with a method similar to
> 
> class DistributedObject
>   def method
>     Thread.pass while sem.try_lock
>     yield
>     ensure
>       sem.unlock
        ^^^

Where is this getting locked?

>   end
> end
> 
> and the client process gets (for instance) a sigabrt, the lock will not be
> released - causing the server process to freeze.  is there anything that can
> be done on the server to remedy this, or must it be done on the client only?
> if so which signals should be dealt with and in what manner?

You could install a signal handler that would unlock the Mutex, but I'm
not sure how much work would be involved to make it always do the right
thing, as you need to know that _you_ locked it and not some other
client (this may or may not be a problem)

Why are you getting the sigabrt, anyway?

-- 
Eric Hodel - drbrain / segment7.net - http://segment7.net
All messages signed with fingerprint:
FEC2 57F1 D465 EB15 5D6E  7C11 332A 551C 796C 9F04


--lBR2yNlwcY132B3M
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.0 (FreeBSD)

iD8DBQE+Q9xuMypVHHlsnwQRAggbAJ9MZT4CUCRPmCqiUR9jY6TGtd3TNgCbBeqo
POIOV/XIRGZP2T4LWPu728Y9E
-----END PGP SIGNATURE-----

--lBR2yNlwcY132B3M--