From: Joseph McDonald Date: 2001-07-01T01:57:50+09:00 Subject: [ruby-talk:17114] Re: ensure block not being executed J>> while (s = msq.recv 100, 100) t> at this step, recv will receive an interrupt and sysvipc will call t> rb_sys_fail() J>> ensure t> ruby begin to execute the ensure block, but after the first node it test t> if it has received an interrupt and because it's true it exit the block t> (longjmp) Interesting. So are you saying that if an interrupt occurs, ensure blocks are not *supposed* to be executed when rb_sys_fail() is called? Dave's example did execute the ensure block when an interrupt was seen but maybe there was no rb_sys_fail() involved? What would be the remedy? replace rb_sys_fail() with something else in sysvipc.c? I tried replacing it with rb_raise() but the same result occurred. thanks, -joe