a4dd0221ac
the first thread to finish will start again from 0 (`reserved`) until 0+slicecount, next thread will then start from the end of the previous thread which is already wrong, resulting in processing the first slicecount*maxthreads entries twice. The first slicecount*maxthreads entries are accounted by the thread creation loop and `reserved` has to start at the first unaccounted index.