Mercurial > hg > release > heapstats-1.1
changeset 26:8008ab68f482
Bug 1852: HeapStats 1.1 agent can't output WARM messages correctly when _GNU_SOURCE is enabled.
reviewed-by: yasuenag
author | KUBOTA Yuji <kubota.yuji@gmail.com> |
---|---|
date | Sun, 22 Jun 2014 19:46:01 +0900 |
parents | b8a514c97fb7 |
children | e52df4e1bc2b |
files | agent/ChangeLog agent/src/logManager.cpp agent/src/util.hpp |
diffstat | 3 files changed, 28 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/agent/ChangeLog Fri Jun 20 11:58:32 2014 +0900 +++ b/agent/ChangeLog Sun Jun 22 19:46:01 2014 +0900 @@ -1,3 +1,7 @@ +2014-06-22 KUBOTA Yuji <kubota.yuji@lab.ntt.co.jp> + + * Bug 1852: HeapStats 1.1 agent can't output WARM messages correctly when _GNU_SOURCE is enabled. + 2014-06-20 KUBOTA Yuji <kubota.yuji@lab.ntt.co.jp> * Bug 1849: HeapStats agent should collect systemd-journald information
--- a/agent/src/logManager.cpp Fri Jun 20 11:58:32 2014 +0900 +++ b/agent/src/logManager.cpp Sun Jun 22 19:46:01 2014 +0900 @@ -1261,11 +1261,20 @@ result = copyFile(copyFileList[i], basePath); if(unlikely(result != 0)){ char error_string[1024]; + +#if (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && ! _GNU_SOURCE + /* XSI-compliant version of strerror_r() */ strerror_r(result, error_string, 1024); +#endif PRINT_WARN_MSG_HEADER << "Failure copy file." << " path:\"" << copyFileList[i] << "\"" - << " cause:\"" << error_string << "\"" +#if (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && ! _GNU_SOURCE + << " cause:\"" << error_string << "\"" +#else + /* GNU-specific version of strerror_r() */ + << " cause:\"" << strerror_r(result, error_string, 1024) << "\"" +#endif << NEWLINE; /* If disk is full. */
--- a/agent/src/util.hpp Fri Jun 20 11:58:32 2014 +0900 +++ b/agent/src/util.hpp Sun Jun 22 19:46:01 2014 +0900 @@ -113,11 +113,20 @@ /*! * \brief Warning message and errno macro. */ -#define PRINT_WARN_MSG_AND_ERRNO(msg, errnum) \ - char error_string[1024]; \ - strerror_r(errnum, error_string, 1024); \ - PRINT_WARN_MSG_HEADER << (msg) \ - << " cause:\"" << error_string << "\"" << NEWLINE +#if (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && ! _GNU_SOURCE + /* XSI-compliant version of strerror_r() */ + #define PRINT_WARN_MSG_AND_ERRNO(msg, errnum) \ + char error_string[1024]; \ + strerror_r(errnum, error_string, 1024); \ + PRINT_WARN_MSG_HEADER << (msg) \ + << " cause:\"" << error_string << "\"" << NEWLINE +#else + /* GNU-specific version of strerror_r() */ + #define PRINT_WARN_MSG_AND_ERRNO(msg, errnum) \ + char error_string[1024]; \ + PRINT_WARN_MSG_HEADER << (msg) \ + << " cause:\"" << strerror_r(errnum, error_string, 1024) << "\"" << NEWLINE +#endif /* Info message. */