Archived

This forum has been archived. Please start a new discussion on GitHub.

Callback on legacy client without callback support causes deadlock?

I am developing a distributed-application. After 2.1.0, Ice had a new feature, bi-directional callback. I think it's a very cool thing and use this in my application. The problem is, when I upgrade my server application which can call back upgraded client's interface, there're numerous legacy client which of course doesn't support callback and has default thread-pool configuration. When my server application (with 40 server thread pool ) run for one day, the server application seemed to be dead-locked. All established proxies hanged, and new client got ConnectionLostException.
I check my code carefully to assure there're no dead-lock caused by my mutex.
Can anybody give me some hint or advice?

Comments

  • marc
    marc Florida
    I recommend to read the article "Avoiding Deadlocks" in Connections issue #4, and the 2nd part of this article that will appear next week in the August issue. If you need specific advice with the design of your application, then you should consider buying commercial support from us. Please contact us at sales@zeroc.com if you are interested.