Fix thread data race in memory.c
This commit is contained in:
parent
00740c0e34
commit
e882f3d6f3
|
@ -1075,12 +1075,13 @@ void *blas_memory_alloc(int procpos){
|
||||||
|
|
||||||
do {
|
do {
|
||||||
/* if (!memory[position].used) { */
|
/* if (!memory[position].used) { */
|
||||||
|
LOCK_COMMAND(&alloc_lock);
|
||||||
blas_lock(&memory[position].lock);
|
/* blas_lock(&memory[position].lock);*/
|
||||||
|
|
||||||
if (!memory[position].used) goto allocation;
|
if (!memory[position].used) goto allocation;
|
||||||
|
|
||||||
blas_unlock(&memory[position].lock);
|
UNLOCK_COMMAND(&alloc_lock);
|
||||||
|
/* blas_unlock(&memory[position].lock);*/
|
||||||
/* } */
|
/* } */
|
||||||
|
|
||||||
position ++;
|
position ++;
|
||||||
|
@ -1097,7 +1098,8 @@ void *blas_memory_alloc(int procpos){
|
||||||
|
|
||||||
memory[position].used = 1;
|
memory[position].used = 1;
|
||||||
|
|
||||||
blas_unlock(&memory[position].lock);
|
UNLOCK_COMMAND(&alloc_lock);
|
||||||
|
/* blas_unlock(&memory[position].lock);*/
|
||||||
|
|
||||||
if (!memory[position].addr) {
|
if (!memory[position].addr) {
|
||||||
do {
|
do {
|
||||||
|
|
Loading…
Reference in New Issue