On Tue, 13 Jul 1999, Waldo Bastian wrote: > Steffen Hansen wrote: > > > It seems that SIGABRT isn't catchable (I thought is was). Often > > kded crashes are caused by a failed assert(bla); the result is > > that the X atom stays after kded is died. > > > > How do we solve this problem? Not using assert() isn't a fix. > > The problem remains with other uncatchable signals (SIGKILL etc.) > > What about catching the exception mico appearantly throws? > > The problem is not kded. It is konqy which doesn't handle a dying > kded. Hmmmmmmm :-) Well, actually this would mean we'd have to try{} *every* invokation. But fortunately we hide all CORBA stuff behind our C++ interfaces, so we *know* where the invokations to kded are done, in libkded. We wouldn't even need to hack any client code (Konqy, etc) . So we need a kind of restart mechanism in KdedInstance and we need to put catch{}'es in all the KRemoteFoo classes where calls to kded are done. I think this could work. Well done Waldo! :-) Steffen - can you provide such a restart-thingy ? I'll then look into placing the try{}catch{}'es to the appropriate places. Greetings, Simon