Getaddrinfo() on glibc calls getenv(), oh boy

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • illumos-gate

    An open-source Unix operating system

  • systemd

    The systemd System and Service Manager

  • Yep, it's close. But you still depend on the unholy mess that is nsswitch.conf

    It's still a bit worrying, with manual JSON parsing: https://github.com/systemd/systemd/blob/79f487038444646f5bce... But at least it's just ~600 lines of fairly straightforward code.

    You also can get most of it with nscd.

    (Sigh, I wish BUS1 guys pushed their project to completion)

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • time

    The most used Rust library for date and time handling. (by time-rs)

  • The problem is that this effects higher languages too, because they often build on libc. And on some OSes, they don't have a choice, because the system call interface is unstable and/or undocumented).

    For example in rust, multiple time libraries were found to be unsound if `std::env::set_env` was ever called from a multi-threaded program. See:

    https://github.com/time-rs/time/issues/293 and https://github.com/chronotope/chrono/issues/499

    https://github.com/rust-lang/rust/issues/27970

    https://github.com/rust-lang/rust/issues/90308

  • chrono

    Date and time library for Rust (by chronotope)

  • The problem is that this effects higher languages too, because they often build on libc. And on some OSes, they don't have a choice, because the system call interface is unstable and/or undocumented).

    For example in rust, multiple time libraries were found to be unsound if `std::env::set_env` was ever called from a multi-threaded program. See:

    https://github.com/time-rs/time/issues/293 and https://github.com/chronotope/chrono/issues/499

    https://github.com/rust-lang/rust/issues/27970

    https://github.com/rust-lang/rust/issues/90308

  • rust

    Empowering everyone to build reliable and efficient software.

  • The problem is that this effects higher languages too, because they often build on libc. And on some OSes, they don't have a choice, because the system call interface is unstable and/or undocumented).

    For example in rust, multiple time libraries were found to be unsound if `std::env::set_env` was ever called from a multi-threaded program. See:

    https://github.com/time-rs/time/issues/293 and https://github.com/chronotope/chrono/issues/499

    https://github.com/rust-lang/rust/issues/27970

    https://github.com/rust-lang/rust/issues/90308

  • go

    The Go programming language

  • The comments on this GitHub issue include links to the changes in the golang code review system: https://github.com/golang/go/issues/17490

  • julia

    The Julia Programming Language

  • Doesn't musl have the same issue? https://github.com/JuliaLang/julia/issues/34726#issuecomment...

    I also wonder about OSX's libc. Newer versions seem to have some sort of locking https://github.com/apple-open-source-mirror/Libc/blob/master...

    but older versions (from 10.9) don't have any lockign: https://github.com/apple-oss-distributions/Libc/blob/Libc-99...

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • Libc

  • Doesn't musl have the same issue? https://github.com/JuliaLang/julia/issues/34726#issuecomment...

    I also wonder about OSX's libc. Newer versions seem to have some sort of locking https://github.com/apple-open-source-mirror/Libc/blob/master...

    but older versions (from 10.9) don't have any lockign: https://github.com/apple-oss-distributions/Libc/blob/Libc-99...

  • Libc

  • Doesn't musl have the same issue? https://github.com/JuliaLang/julia/issues/34726#issuecomment...

    I also wonder about OSX's libc. Newer versions seem to have some sort of locking https://github.com/apple-open-source-mirror/Libc/blob/master...

    but older versions (from 10.9) don't have any lockign: https://github.com/apple-oss-distributions/Libc/blob/Libc-99...

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts