https://issues.dlang.org/show_bug.cgi?id=14097

--- Comment #5 from Ketmar Dark <ket...@ketmar.no-ip.org> ---
it is possible.

1. executing WaitForSingleObject(f->event, INFINITE); in `dispose()`.
2. last `f->result = f->file->read();` fires event
3. time slice goes to `dispose()`, it finishes and frees `aw`.
4. time slice returns to `startthread` (we are still in loop, right after
`f->file->read()`.
5. `startthread` executes `i < aw->filesdim` in `for`… oops.

--

Reply via email to