diff --git a/src/testcurl/test_get_response_cleanup.c b/src/testcurl/test_get_response_cleanup.c index 03552ba0..aeb982e9 100644 --- a/src/testcurl/test_get_response_cleanup.c +++ b/src/testcurl/test_get_response_cleanup.c @@ -35,9 +35,9 @@ #include #include #include -#ifdef __sun +#ifndef _WIN32 #include -#endif /* __sun */ +#endif /* _WIN32 */ #ifndef WINDOWS #include @@ -386,13 +386,16 @@ int main (int argc, char *const *argv) { unsigned int errorCount = 0; -#ifdef __sun - struct sigaction act; - +#ifndef _WIN32 /* Solaris has no way to disable SIGPIPE on socket disconnect. */ - act.sa_handler = SIG_IGN; - sigaction(SIGPIPE, &act, NULL); -#endif /* __sun */ + if (MHD_NO == MHD_is_feature_supported (MHD_FEATURE_AUTOSUPPRESS_SIGPIPE)) + { + struct sigaction act; + + act.sa_handler = SIG_IGN; + sigaction(SIGPIPE, &act, NULL); + } +#endif /* _WIN32 */ oneone = (NULL != strrchr (argv[0], (int) '/')) ? (NULL != strstr (strrchr (argv[0], (int) '/'), "11")) : 0;