Subject: Re: [boost] [system] Would it be possible to trial a breaking change to Boost.System and see what happens?
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2018-01-15 10:37:45
On 01/15/18 03:01, Niall Douglas via Boost wrote:
> Is anybody actually generating a totally unique message per invocation
> for the same error code which couldn't be cached and reused? I've never
> seen it yet. Almost all use of message() is for printing to human
> readable output.
libc++ uses strerror_r or snprintf to generate error messages (see
system_error.cpp). libstdc++ uses strerror (which seems like a bug
as it is not thread-safe). strerror_r implementation in glibc may
dynamically generate the error message, although most of the time it
returns one of many constant strings. Either way, users of strerror_r
have to assume the result is dynamically generated.
You didn't mention how you would solve the problem of thread
synchronization to the static storage or cache. In case of a hash map,
how would you be removing entries from it? Because if you don't, you're
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk