On 09/03/2010 01:54 PM, Pieter Hintjens wrote: > However - Martin, you can confirm - if this change actually breaks > existing code (i.e. it will not run and cannot trivially be changed) > then we should not make it in 2.0.9.
Yes. It does. The most obvious way to do error handling (at least to me) if to check for EAGAIN and ETERM and handle those is special ways. Then assert on any other error. Given that "any other error" would now include EINTR, the application would fail because of some innocent signal. > Looking at the zeromq-dev archive discussions on EINTR it's not clear > who asked for this to be ignored... It was a customer so the discussion wasn't public. The problem IIRC was something like that they were using profiler which used signals to interrupt the application (and to measure the profiling statistics) which in turn caused 0MQ's blocking calls to exit with EINTR all the time. My intuitive feeling about stability guarantees is: New patch: I can install it in the production without breaking my apps. New minor version: It will be able to build my app, however, I should check the documentation to make sure that subtle changes to the semantics don't affect my code. New major version: No guarantees. Presumably, my application won't even build. Martin _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
