Bryan Richardson wrote: > hi adam, > > i don't test a property because the ole interface is not asynchronous. > my code looks like this - > > do stuff... > result = @sim.RunScriptCommand('SolvePrimalLP()') > do stuff... > > when the ole application hangs i never get to the second 'do stuff...' I don't know much about ole... is RunScriptCommand blocking on a tcp socket call? If so, it should be possible to wrap a timeout block around RunScriptCommand. The timeout block starts another thread. If the timeout fires, the blocked call will be interrupted (ruby's thread scheduler works well if threads are blocked on socket ops, but not arbitrary C functions). You can rescue and clean up the socket. -- vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407