Hi Chris, > > Not sure, but gmtime_s looks like a MSVC function. Could you point me > > out where gmtime_s is standardized? Thanks. > > gmtime_s is included in the (optional) annex K of C11. However, the > parameters are reversed compared to the MSVC version and the standard > one returns struct tm * while the MSVC one returns errno_t. > > Moreover, some searching shows that gmtime_s is documented starting > with VS 2010 (and _gmtime_s in VS 2005 and VS 2008). However, since VS > 2005 gmtime returns a different pointer per thread [1], so there is no > reason to use gmtime_s here - gmtime_s offers additional error > checking for null pointers, which is not an issue in this code. >
Thank you for information. As Heinrich noticed, gmtime, strerror, and strtok are non-thread-safe (for example, in most recent version of glibc strtok just uses a static pointer without a tls specifier), so in a multi-threaded environment thread-safe versions of these functions should be used. The problem I encountered is that gcc (Debian 4.7.2-5) 4.7.2 installed on my Linux machine doesn't have gmtime_s, strerror_s, and strtok_s. It is unclear what to do if no thread-safe version of these functions are available. Andrew Makhorin _______________________________________________ Help-glpk mailing list Help-glpk@gnu.org https://lists.gnu.org/mailman/listinfo/help-glpk