Archived

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

Unix signals possibly interfering with Ice communication?

I have a server app with a very simple interface who's function is to fork off processes according to client requests (rsh would not do). What I'm experiencing is that my client intermittently hangs in the code where it is trying to talk to the server. On the server side, I see all threads at the poll() function. It seems as if my client's message has been lost. Upon reconnect the interface is still hung, so I have to cycle the server.

I'm just wondering whether SIGCHLD (or other signals) can cause this problem?

Note that I can't employ the signal handling strategy that is in the documentation, but besides, this is a signal that is not mentioned there. Also, if I 'pace' my method calls to the server the problem is less likely, but still occurs.

Comments

  • bernard
    bernard Jupiter, FL
    Hi Laszlo,

    You can fork and exec with Ice, however you need to be careful; see http://www.zeroc.com/faq/fork.html for details.

    It's also possible that you could replace your forking server with IceGrid (an IceGrid node), that also starts (forks) servers according to client requests.

    Best regards,
    Bernard