Boost logo

Boost :

From: Oliver.Kowalke_at_[hidden]
Date: 2006-12-18 04:42:07


From: Martin Bonner

> I don't think Autoconfig /does/ help.

I'm using autoconfig in order to check if some OS features are
available.
Autoconfigure gives you the os name, version and relase.
It is a great help for multiplatform development!
For instance I test with autoconfigure if a given platform supports
MSG_NOSIGNAL flag in the
system call sendmsg.

What ??? said (I have
> forgotten their name, and you didn't attribute the quote), is
> that people build on Solaris 10 (which has strerror_r) and
> then expect to be able to run on Solaris 2 (which doesn't).

On HP/UX for instance the patch level of the system is also important.
So only on teyting for os version/relase is not sufficient.

> It seems to me that the only possible solution to that, is a
> define which forces the use of strerror. We don't want to
> use strerror unless we have to (because of thread safety),
> and the person building the code is the only person who can
> know whether they need the capability to deploy on Solaris 2.

With aoutconfig the build process can check if strerror_r is avaliable
and provide strerror as fall back.

> Hmm. Maybe boost should use strerror_r always, and then tell
> people how to write their own version if the OS doesn't
> provide it. (Grab a lock, call strerror, copy result to
> passed in buffer, release lock - absolutely safe against
> multithreaded calls to strerror_r, and there's a good chance
> that other calls to strerror will work)

Bad idea.

Oliver


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk