-
-
Notifications
You must be signed in to change notification settings - Fork 31.4k
test: fix missing unistd.h on windows #3532
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Conversation
cc @bnoordhuis probably |
@bnoordhuis Would you please also land it on v4.x? Thanks. |
@@ -13,7 +20,8 @@ struct async_req { | |||
|
|||
void DoAsync(uv_work_t* r) { | |||
async_req* req = reinterpret_cast<async_req*>(r->data); | |||
sleep(1); // Simulate CPU intensive process... | |||
// Simulate CPU intensive process... | |||
std::this_thread::sleep_for(std::chrono::seconds(1)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This won't work on OS X due to lack of library support. Can I suggest something like this?
#ifdef _WIN32
Sleep(1000);
#else
sleep(1);
#endif
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am happy to use that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But since the latest v8 is also using c++11, I think OS X might be able to get around c++11 problems by using new compilers and libraries.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are two aspects to C++11 support: compiler support (okay on OS X) and libc++ support (which is lacking.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I noticed the default libc++ library on OS X is outdated and doesn't support c++11. I wonder how OS X user compile the latest v8, which is part of nodejs and using c++11? they should have a solution to that. (I think they download the lib from somewhere)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's right, it ships with its own copy of libc++: https://chromium.googlesource.com/chromium/buildtools/+/master/third_party/libc++/
PR-URL: #3532 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Thanks, landed in 4139f2a. |
hello @jasnell , would you please help land it on v4.x? thanks. |
PR-URL: nodejs#3532 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: #3532 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: #3532 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: nodejs/node#3532 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Landed in v4.x-staging in 2fc13e5 |
PL-URL: #3531