Fixes a bug in mingw.future.h by removing locking during calculation of asynchronous functions. This prevents future's wait_for routine from locking until the asynchronous task completes by moving the update lock (part of a mechanism for alerting waiters) to after the asynchronous function's computation is complete. After the patch, behavior is as expected, with requests timing out at approximately the requested time.
Fixes a bug in
mingw.future.h
by removing locking during calculation of asynchronous functions. This preventsfuture
'swait_for
routine from locking until the asynchronous task completes by moving the update lock (part of a mechanism for alerting waiters) to after the asynchronous function's computation is complete. After the patch, behavior is as expected, with requests timing out at approximately the requested time.