[zeromq-dev] errno

Martin Sustrik sustrik at 250bpm.com
Mon Jan 16 23:16:21 CET 2012

On 15/01/12 03:33, john skaller wrote:

> Note also: your argument only applies to C programmers.
> How many bindings are there? (I'm just adding one more .. )

You mean like wrapping libzmq in such a way that the wrapper converts 
errnos into return codes? That seems doable.

Btw, Linux kernel system of returning int from a function with negative 
values reserved for errors seems to be handy as well:

     return -EINVAL;

> Err .. but 0MQ is specifically DESIGNED to fix a major problem in Posix .. isn't it?

Heh. Nice way of looking at it :)

> Anyhow, as above: provide a "core" interface, done the right way. At least people
> doing language bindings can use the safe  interface. That doesn't conflict
> with a Posix style wrapper. And as noted C and Posix are tending to migrate
> functions to re-entrant versions anyhow.

A-ha. That's what you mean. To do that we should gradually change the 
internal implementation of 0MQ to use return values instead of errnos 
everwhere. Adding a new safe API on top would be the final touch.

> One problem: building it. I tried to build from GitHub but all hell broke
> lose with libtool. The tarball built fine.

Have you run the ./autogen.sh step?

> To be a core part of Felix, we can't use your build scripts.
> Felix uses fbuild, which is a complete build system written in Python
> that runs on all platforms and builds for all platforms from a single
> Python script. I have no idea how hard it will be to generate the
> configuration information you need.

You can find out by grepping the source code for ZMQ_HAVE_* macros. 
These are defined by autoconfig.


More information about the zeromq-dev mailing list