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

Reply via email to