From subscribe at teskor.de Thu Sep 10 14:06:50 2026 From: subscribe at teskor.de (Michael Teske) Date: Thu, 10 Sep 2026 16:06:50 +0200 Subject: [omniORB] bidirectional omniORB, NAT and idle timeouts In-Reply-To: <2d601ca43319cc858cd08c3d3772e6fdc6e7417b.camel@grisby.org> References: <66aa873b-ed52-401b-9633-b60df3a45063@teskor.de> <2d601ca43319cc858cd08c3d3772e6fdc6e7417b.camel@grisby.org> Message-ID: <4b146869-a6c8-4a2d-a859-8f3f0597857a@teskor.de> Hi, On 8/14/26 7:40 PM, Duncan Grisby wrote: [...] >> Is there any solution for this available yet? I thought about >> hacking?TCP_KEEPIDLE on linux into the socket options, but before >> doing that I thought I ask here first. > > I don't think you are likely to have much luck with doing that. It > might make it somewhat less likely for the NAT server to drop your > connection, but sooner or later something will cause the connection to > drop. I finally managed to do some tests. I stumbled over libkeepalive, which intercepts all socket() calls to do exacly this. When I set these env vars: LD_PRELOAD=libkeepalive.so KEEPCNT=10 KEEPIDLE=600 KEEPINTVL=60 Our problems go away (for now, that is :-) ) Of course it would be nicer to not LD_PRELOADing any libs. If I'd send you a patch to add some parameters to omniORB?which optionally set these socket options, is there a chance it would get accepted? If not, I'll save the work and live with the libkeepalive solution. > A more robust solution would be to periodically make an explicit CORBA > call from the client to the server, re-sending the callback object > reference. Normally that periodic call would reuse the existing > connection, but if the connection is dropped for any reason, a new one > will be opened. It is important to re-send the callback because > bidirectional callbacks are only allowed on the same connection that > was used to receive the object reference. Of course we have ways to recover from a closed connection but it generates some errors, which I'd like to prevent, if possible. Greetings, ? Michael -------------- next part -------------- An HTML attachment was scrubbed... URL: