commit 449b2b7c58e5dd5b33941a5142524a66c64c98ec Author: Nick Mathewson nickm@torproject.org Date: Mon Jul 15 12:17:23 2013 -0400
Don't build format_helper_exit_status on win32
The only thing that used format_helper_exit_status on win32 was the unit tests. This caused an error when we tried to leave a static format_helper_exit_status lying around in a production object file.
The easiest solution is to admit that this way of dealing with process exit status is Unix-only. --- src/common/util.c | 2 ++ src/test/test_util.c | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/common/util.c b/src/common/util.c index f5bacfa..95dea4b 100644 --- a/src/common/util.c +++ b/src/common/util.c @@ -3443,6 +3443,7 @@ format_hex_number_for_helper_exit_status(unsigned int x, char *buf, return len; }
+#ifndef _WIN32 /** Format <b>child_state</b> and <b>saved_errno</b> as a hex string placed in * <b>hex_errno</b>. Called between fork and _exit, so must be signal-handler * safe. @@ -3551,6 +3552,7 @@ format_helper_exit_status(unsigned char child_state, int saved_errno, done: return res; } +#endif
/* Maximum number of file descriptors, if we cannot get it via sysconf() */ #define DEFAULT_MAX_FD 256 diff --git a/src/test/test_util.c b/src/test/test_util.c index 53626bb..603eded 100644 --- a/src/test/test_util.c +++ b/src/test/test_util.c @@ -2281,6 +2281,7 @@ test_util_load_win_lib(void *ptr) } #endif
+#ifndef _WIN32 static void clear_hex_errno(char *hex_errno) { @@ -2324,6 +2325,7 @@ test_util_exit_status(void *ptr) done: ; } +#endif
#ifndef _WIN32 /** Check that fgets waits until a full line, and not return a partial line, on @@ -3346,8 +3348,8 @@ struct testcase_t util_tests[] = { #ifdef _WIN32 UTIL_TEST(load_win_lib, 0), #endif - UTIL_TEST(exit_status, 0), #ifndef _WIN32 + UTIL_TEST(exit_status, 0), UTIL_TEST(fgets_eagain, TT_SKIP), #endif UTIL_TEST(spawn_background_ok, 0),