Closed Snickermicker closed 9 years ago
The join provides a controlled sequence during shutdown. It waits for the EventNotifier
to finish its round of close notifications. So my first two suspicions would be that either a notification does not return (you can check that in method fire
like you did in quit
), or a listener swallows the thread interrupt somewhere. The first two errors in your output are expected, indicating the network error (with Linux giving the rather bland error Invalid Argument).
Thx a lot. I'll have a look.
Sometimes, when the connection to the network is lost I see a thread being 'stuck' in method quit() of class tuwien.auto.calimero.link.EventNotifier. To get details of where that happens I added some log output to that method and it seems to be the join() call.
The method I used to produce the error is to shutdown the network interface.
Same happens btw when I started a separate thread which frequently read from the KNX bus using calimero. When the connection to the bus is lost, that thread is 'stuck'. Any pointers as to what I'm doing wrong?