You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In Node.js, it looks like we've had a long standing bug when running threadpool jobs. See nodejs/node#35021 for discussion. Calling uv_library_shutdown() resolves the problem on non-Windows systems by ensuring that threadpool jobs are shutdown properly. However, I notice that uv__threadpool_cleanup() is currently a non-op on _WIN32 and it's not entirely clear why.
Removing the #ifndef _WIN guards in uv__threadpool_cleanup() fixes the bug for me locally (Windows 10, VS19). I can open a PR but before I do I wanted to see if there was a specific reason the function was a made a non-op.
c8abb29 changed this in 2014, but since we’re using __attribute__((destructor)) on uv_library_shutdown(), I’m assuming that this isn’t being automatically run on Windows anyway.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Activity
addaleax commentedon Sep 2, 2020
c8abb29 changed this in 2014, but since we’re using
__attribute__((destructor))onuv_library_shutdown(), I’m assuming that this isn’t being automatically run on Windows anyway.I think just removing the
#ifdefshould be fine.richardlau commentedon Sep 2, 2020
c8abb29 is one of two commits from joyent/libuv#1381.
jasnell commentedon Sep 2, 2020
@addaleax :
Yeah, not seeing anything in local testing that would suggest otherwise. I'll get a PR opened.
Remove the _WIN32 guards from uv__threadpool_cleanup
Remove the _WIN32 guards from uv__threadpool_cleanup
Remove the _WIN32 guards from uv__threadpool_cleanup
stale commentedon Feb 14, 2021
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
cleanup,win: Remove _WIN32 guards on threadpool
cleanup,win: Remove _WIN32 guards on threadpool
cleanup,win: Remove _WIN32 guards on threadpool
cleanup,win: Remove _WIN32 guards on threadpool