We're updating the issue view to help you get more done. 

O_CLOEXEC flag used in ip.cpp:192 is supported only on Linux kernels 2.6.27+

Description

When building ZeroMQ versions 2.1.10+ build system have to check whether the underlying kernel version is actually 2.6.27 or newer (or maybe check it on runtime), even if the O_CLOEXEC flag is defined. Some virtualization environment, like OpenVZ, allow to run newer Linux systems (like Lucid) on older host systems (like Hardy), which will end up in new libc dev headers with O_CLOEXEC defined running on older kernel which doesn't support it, which in order will block all TCP communications due to an inability to bind a socket at all.

Environment

None

Status

Assignee

Martin Sustrik

Reporter

Andrey Sibiryov

Labels

None

Components

Affects versions

2.1.10

Priority

Major