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
Issue #8140 brought to my attention that some code in the dynamic library implementation was incorrect. After chatting to @bblum on IRC, I figured out my mistake in creating the implementation. Apparently the function task::atomically only asserts that no context switching occurs, and does not in fact prevent it. A corrected pair of check_for_errors_in functions should replace the use of task::atomically with some locking mechanism to prevent threads from stepping on each others use of errno (or the equivalent Win32 error variable.) Maybe this locking mechanism for safely accessing the error variable should also be exposed separately in Rust's OS interaction facilities.