hundreds-breakfast-49010
07/23/2020, 7:57 PMasync_semaphor
hundreds-breakfast-49010
07/23/2020, 7:59 PMPermit
, we increment available_permits
, which is an integer, but we only look at the front item in the waiters
queuehundreds-breakfast-49010
07/23/2020, 7:59 PMBoundedCommandRunner
all at once, more than the limithundreds-breakfast-49010
07/23/2020, 8:01 PMn
processes finish, they'll increment the available count but call wake_by_ref
on the same waiting processhundreds-breakfast-49010
07/23/2020, 8:02 PMn
waiting processeshundreds-breakfast-49010
07/23/2020, 8:03 PMhundreds-breakfast-49010
07/23/2020, 8:03 PMwitty-crayon-22786
07/23/2020, 8:15 PMwitty-crayon-22786
07/23/2020, 8:15 PMhundreds-breakfast-49010
07/23/2020, 8:16 PMwitty-crayon-22786
07/23/2020, 8:17 PMwitty-crayon-22786
07/23/2020, 8:17 PMhundreds-breakfast-49010
07/23/2020, 8:18 PMwitty-crayon-22786
07/23/2020, 8:18 PMhundreds-breakfast-49010
07/23/2020, 8:19 PMwitty-crayon-22786
07/23/2020, 8:19 PMwitty-crayon-22786
07/23/2020, 8:19 PMwitty-crayon-22786
07/23/2020, 8:20 PMwitty-crayon-22786
07/23/2020, 8:20 PMhundreds-breakfast-49010
07/23/2020, 8:22 PMasync_semaphor
, which only passes if I make that adjustment to the call to wake_by_ref
in the drop implhundreds-breakfast-49010
07/23/2020, 8:23 PMwitty-crayon-22786
07/23/2020, 8:33 PMwitty-crayon-22786
07/23/2020, 8:34 PMhundreds-breakfast-49010
07/23/2020, 8:34 PMwitty-crayon-22786
07/23/2020, 8:34 PMhappy-kitchen-89482
07/23/2020, 10:53 PMhundreds-breakfast-49010
07/23/2020, 11:06 PMhundreds-breakfast-49010
07/23/2020, 11:07 PMInner
data structure, and I have some changes locally that do this and are passing testshundreds-breakfast-49010
07/23/2020, 11:07 PMhundreds-breakfast-49010
07/23/2020, 11:10 PMavailable_permits
as an effective id, once enough tasks are scheduled to exhaust the ids, we end up assigning an id of 1
whenever a particular task finishes. so we count down from whatever the value of local concurrency is to 1, and then only assign 1 to processes thereafter. instead we should give a newly-scheduled process the id of whatever process just finished, which means we need store those ids in a separate data structure, which is easy enough to do)happy-kitchen-89482
07/23/2020, 11:13 PMhundreds-breakfast-49010
07/23/2020, 11:15 PMwitty-crayon-22786
07/23/2020, 11:20 PMMutex<Vec<usize>>
full of the number of slots you want.fast-nail-55400
07/23/2020, 11:23 PMhundreds-breakfast-49010
07/23/2020, 11:37 PMwitty-crayon-22786
07/24/2020, 12:46 AMwitty-crayon-22786
07/24/2020, 12:46 AMwitty-crayon-22786
07/24/2020, 1:04 AM