Bläddra i källkod

llvmpipe: add pipe_thread_wait() calls

Wait for threads to exit before cleaning up per-thread data.
Fixes hang on context destruction with glean makeCurrent test.
See fd.o bug 26536.
tags/7.8-rc1
Brian Paul 16 år sedan
förälder
incheckning
b704a4e8f3
1 ändrade filer med 6 tillägg och 0 borttagningar
  1. 6
    0
      src/gallium/drivers/llvmpipe/lp_rast.c

+ 6
- 0
src/gallium/drivers/llvmpipe/lp_rast.c Visa fil

@@ -846,6 +846,12 @@ void lp_rast_destroy( struct lp_rasterizer *rast )
pipe_semaphore_signal(&rast->tasks[i].work_ready);
}

/* Wait for threads to terminate before cleaning up per-thread data */
for (i = 0; i < rast->num_threads; i++) {
pipe_thread_wait(rast->threads[i]);
}

/* Clean up per-thread data */
for (i = 0; i < rast->num_threads; i++) {
pipe_semaphore_destroy(&rast->tasks[i].work_ready);
pipe_semaphore_destroy(&rast->tasks[i].work_done);

Laddar…
Avbryt
Spara