Hi Patrick,

Yes, it's hard to maintain. The problem is, that we have to rely on some OS
specific parts in very few places. From the top of my that includes:
 - User level context switching (that's the most crucial part)
 - Dynamic plugin loading (the one you stumbled over in your second mail)
 - OS thread handling (that should be handled by your C++ standard library
though)

We currently support (most) POSIX like systems (that should include OSX and
some BSD flavors) and Windows. For some *NIX flavors, we have some
workarounds. Most of it has grown over the years and could, probably
deserve a cleanup. Please also keep in mind that we don't run tests
regularly on those "exotic" platforms. However, if you want to dedicate
resources for testing, that would be awesome!

With that being said, we are totally open to suggestions to make this
handling of different OSes more maintainable. Do you have suggestions?

Regards,
Thomas


On Wed, Aug 8, 2018 at 10:06 PM Patrick Welche <[email protected]> wrote:

> I thought I would try out HPX, and hit:
>
> /tmp/pkgsrc/parallel/hpx/work.x86_64/hpx_1.1.0/src/exception.cpp:207:2:
> error: #error "Don't know, how to access the execution environment on this
> platform"
>  #error "Don't know, how to access the execution environment on this
> platform"
>
> I don't think a hand-coded list of operating systems is maintainable.
> Staring at it, I can't spot the difference between linux and __APPLE__
> for instance. Maybe linux, AIX, and __APPLE__ should just be the #else
> so that chances are, your code would compile on a not-listed OS, and
> you would only receive bug reports from the few that don't.
> (Is FreeBSD really different? I must check...)
>
> Cheers,
>
> Patrick
> _______________________________________________
> hpx-users mailing list
> [email protected]
> https://mail.cct.lsu.edu/mailman/listinfo/hpx-users
>
_______________________________________________
hpx-users mailing list
[email protected]
https://mail.cct.lsu.edu/mailman/listinfo/hpx-users

Reply via email to