if one has an object with a method similar to

class DistributedObject
  def method
    Thread.pass while sem.try_lock
    yield
    ensure
      sem.unlock
  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?

thanks.

-a


-- 

 ====================================
 | Ara Howard
 | NOAA Forecast Systems Laboratory
 | Information and Technology Services
 | Data Systems Group
 | R/FST 325 Broadway
 | Boulder, CO 80305-3328
 | Email: ahoward / fsl.noaa.gov
 | Phone:  303-497-7238
 | Fax:    303-497-7259
 ====================================