Fix potential deadlock in ArrayHandle::PrepareForOutput
ArrayHandle::PrepareForOutput
often has to reallocate the array to the
specified size. Previously, this allocation was not happening with the
Token
that is passed to PrepareForOutput
. If the ArrayHandle
is
already attached or enqueued for that Token
, then the allocation would
deadlock.
You can now pass a Token
object to Allocate
, which is what
PrepareForOutput
does.