Hi,
some of you may have noticed that GWorkspace sometimes do not exit at
the first attempt, but at the second. It does not happen on all
computers, but on those where it does, it happens consistently. I and
Sebastian did a "NSLog debugging", my previous attempts with gdb where
unsuccessful.
in GWorkspace, in applicationShouldTerminate, we have this code:
if (fswatcher) {
NSConnection *conn = [(NSDistantObject *)fswatcher connectionForProxy];
if ([conn isValid]) {
[nc removeObserver: self
name: NSConnectionDidDieNotification
object: conn];
[fswatcher unregisterClient: (id <FSWClientProtocol>)self];
DESTROY (fswatcher);
}
}
the problematic line is:
[fswatcher unregisterClient: (id <FSWClientProtocol>)self];
When this GWS hangs, it hangs because this line does not return.
fswatcher is the daemon object.
fswatcher will exit with exit() when the last client unregisters and in
this case it is happening, we checked the code-path and also "ps" shows
that it indeed exists. Why does it hang? And why does it hang on certain
machines only?
I fear there could be a base problem, when invoking remote objects?
Riccardo
_______________________________________________
Discuss-gnustep mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep