Browse Source

code to fix lost work in case of re-entrant calls to exec_blas_async()

tags/v0.3.27
Mark Seminatore 1 year ago
parent
commit
b0ad8a78ff
1 changed files with 4 additions and 4 deletions
  1. +4
    -4
      driver/others/blas_server_win32.c

+ 4
- 4
driver/others/blas_server_win32.c View File

@@ -409,14 +409,14 @@ int exec_blas_async(BLASLONG pos, blas_queue_t *queue) {
} }
else else
{ {
blas_queue_t *next_item = work_queue;
blas_queue_t *queue_item = work_queue;


// find the end of the work queue // find the end of the work queue
while (next_item)
next_item = next_item->next;
while (queue_item->next)
queue_item = queue_item->next;


// add new work to the end // add new work to the end
next_item = queue;
queue_item->next = queue;
} }


LeaveCriticalSection(&queue_lock); LeaveCriticalSection(&queue_lock);


Loading…
Cancel
Save