Is gipc reliable?

gipc is developed with a strong focus on reliability and with best intentions in mind. Although gipc handles a delicate combination of signals, threads, and forking, I have observed it to work reliably. The unit test suite covers all of gipc’s features within a clean gevent environment, but also covers scenarios of medium complexity. To my knowledge, gipc is being deployed in serious production scenarios.

But still, generally, you should be aware of the fact that mixing any of fork, threads, greenlets and an event loop library such as libev bears the potential for various kinds of corner-case disasters. One could argue that fork() in the context of libev without doing a clean exec in the child already is broken design. However, many people would like to do exactly this and gipc’s basic approach has proven to work in such cases. Now it is up to you to evaluate gipc in the context of your project – please share your experience.