On Thu, Jul 8, 2010 at 11:19 AM, Martin Lucina <m...@kotelna.sk> wrote:

> Almost any UNIX system call can return EINTR if it's interrupted at just
> the right time, that doesn't make it a blocking call.

If it does almost nothing, then blocking and non-blocking are the
same... close() is synchronous even if it does nothing.  fclose()
flushes data and that could conceivably block exactly as I'm
suggesting zmq_close() would block, if it flushed messages to the OS.

Given that we don't have any scenarios that prove or disprove this
solution, it's pretty irrelevant.  We need to flush messages at some
stage before exiting the process, and we need to add this without
changing the API.

Opinions from others would be welcome.  Does a zmq_close() which
flushes pending messages make sense?  Or is that too surprising?

I'm sure when Sustrik gets back from his week off he'll have a good
answer to this :-)

-Pieter
_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to