[nanomsg] Re: nng & older Linux versions

  • From: Michael Powell <mwpowellhtx@xxxxxxxxx>
  • To: "nanomsg@xxxxxxxxxxxxx" <nanomsg@xxxxxxxxxxxxx>
  • Date: Fri, 27 Oct 2017 19:13:07 -0400

On Fri, Oct 27, 2017 at 6:40 PM, Garrett D'Amore <garrett@xxxxxxxxxx> wrote:

I’m currently looking at code that uses some “modern” linux APIs like
eventfd and epoll. This code is currently not conditioned on the kernel
version.  That could be bad.

The eventfd stuff in particular was introduced in kernel version 2.6.22.
Which means kernels older than that won’t work without modification.

To give some idea, this means RHEL 6.0 or newer, Ubuntu 7.10 or newer.

Wouldn't hurt my feelings one way or another. I would kind of expect
it, to be honest.

If you have a need for nanomsg on older platforms, and in particular need
new application / library support for such platforms, I’d like to know.  I
don’t at present have any test capability for anything older than 2.8 or so.
I *can* support older platforms if there is a need, but before I go to the
effort I want to make sure that there is demand for it.

Recall also Windows support requires Windows Vista or better.  That isn’t
changing.  There’s probably a minimum macOS version as well, but at present
I don’t know what it is beyond 10.0.  (What’s the earliest version with
kqueue support for example?

Re: Windows, Vista core (which Windows 7+ should be) seems reasonable to me.

Somewhat tangent, however, I'm not convinced that some of the API you
are using isn't Windows 8.x and/or 10+.

Tangential, any luck with that Windows IPC infinite block race
condition? Incidentally, when I was considering whether to contribute
directly to the code base, or whether a repository dependency was
appropriate, I did encounter a couple of gaps in your functional
handlers. Missing handlers, things of that sort, extending into the
Windows platform. However, I'm not positive which platform API that
was, or if that necessarily contributes to the race condition.

I’m also interested in hearing if anyone is still needing to support older
versions of other systems, and still wants to do new app development or
deploys for them?

No one uses Windows XP any longer; unless you're the United States
Navy, from what I understand. There may be a handful of stragglers,
however.

Obviously it’s to my advantage to support the systems where there is demand,
and not to waste my effort worrying about the ones where there is no market
demand.  And by being willing to cut off Windows XP I think I demonstrate
just how far out of my way I’m willing to go to support old systems.  (To be
fair, supporting Windows XP properly would be “hard” because of substantial
missing functionality, like condvars, and slim reader/writer locks, etc.)

 - Garrett

Other related posts: