summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFedor Indutny <fedor.indutny@gmail.com>2013-12-11 21:11:13 +0400
committerFedor Indutny <fedor.indutny@gmail.com>2013-12-11 21:11:13 +0400
commit68396c7aacd76ca39782863fcf0aa351fbcbf08d (patch)
treef2841d7b8afd5487272bb43df10ea87227ac7336
parentec4c849627f410687750e729629db3b0e904715e (diff)
downloadnode-fix/gh-6663.tar.gz
another tryfix/gh-6663
-rw-r--r--deps/openssl/openssl.gyp3
-rw-r--r--deps/openssl/openssl/apps/s_client.c19
2 files changed, 13 insertions, 9 deletions
diff --git a/deps/openssl/openssl.gyp b/deps/openssl/openssl.gyp
index c38024a00..1775b774c 100644
--- a/deps/openssl/openssl.gyp
+++ b/deps/openssl/openssl.gyp
@@ -1027,9 +1027,6 @@
'-lcrypt32.lib',
'-luser32.lib',
],
- 'defines': [
- 'OPENSSL_SYS_MSDOS',
- ]
},
}]
]
diff --git a/deps/openssl/openssl/apps/s_client.c b/deps/openssl/openssl/apps/s_client.c
index 3ba660560..b285b2a91 100644
--- a/deps/openssl/openssl/apps/s_client.c
+++ b/deps/openssl/openssl/apps/s_client.c
@@ -178,6 +178,13 @@ typedef unsigned int u_int;
#include <fcntl.h>
#endif
+/* Use Windows API with STD_INPUT_HANDLE when checking for input?
+ Don't look at OPENSSL_SYS_MSDOS for this, since it is always defined if
+ OPENSSL_SYS_WINDOWS is defined */
+#if defined(OPENSSL_SYS_WINDOWS) && !defined(OPENSSL_SYS_WINCE) && defined(STD_INPUT_HANDLE)
+#define OPENSSL_USE_STD_INPUT_HANDLE
+#endif
+
#undef PROG
#define PROG s_client_main
@@ -1604,10 +1611,10 @@ SSL_set_tlsext_status_ids(con, ids);
tv.tv_usec = 0;
i=select(width,(void *)&readfds,(void *)&writefds,
NULL,&tv);
-#if defined(OPENSSL_SYS_WINCE) || defined(OPENSSL_SYS_MSDOS)
- if(!i && (!_kbhit() || !read_tty) ) continue;
-#else
+#if defined(OPENSSL_USE_STD_INPUT_HANDLE)
if(!i && (!((_kbhit()) || (WAIT_OBJECT_0 == WaitForSingleObject(GetStdHandle(STD_INPUT_HANDLE), 0))) || !read_tty) ) continue;
+#else
+ if(!i && (!_kbhit() || !read_tty) ) continue;
#endif
} else i=select(width,(void *)&readfds,(void *)&writefds,
NULL,timeoutp);
@@ -1812,10 +1819,10 @@ printf("read=%d pending=%d peek=%d\n",k,SSL_pending(con),SSL_peek(con,zbuf,10240
}
#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS)
-#if defined(OPENSSL_SYS_WINCE) || defined(OPENSSL_SYS_MSDOS)
- else if (_kbhit())
-#else
+#if defined(OPENSSL_USE_STD_INPUT_HANDLE)
else if ((_kbhit()) || (WAIT_OBJECT_0 == WaitForSingleObject(GetStdHandle(STD_INPUT_HANDLE), 0)))
+#else
+ else if (_kbhit())
#endif
#elif defined (OPENSSL_SYS_NETWARE)
else if (_kbhit())