diff options
Diffstat (limited to 'compat/nedmalloc')
-rw-r--r-- | compat/nedmalloc/Readme.txt | 2 | ||||
-rw-r--r-- | compat/nedmalloc/nedmalloc.c | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/compat/nedmalloc/Readme.txt b/compat/nedmalloc/Readme.txt index 876365646e..e46d8f112c 100644 --- a/compat/nedmalloc/Readme.txt +++ b/compat/nedmalloc/Readme.txt @@ -100,7 +100,7 @@ v1.04alpha_svn915 7th October 2006: Thanks to Dmitry Chichkov for reporting this. Futher thanks to Aleksey Sanin. * Fixed realloc(0, <size>) segfaulting. Thanks to Dmitry Chichkov for reporting this. - * Made config defines #ifndef so they can be overriden by the build system. + * Made config defines #ifndef so they can be overridden by the build system. Thanks to Aleksey Sanin for suggesting this. * Fixed deadlock in nedprealloc() due to unnecessary locking of preferred thread mspace when mspace_realloc() always uses the original block's mspace diff --git a/compat/nedmalloc/nedmalloc.c b/compat/nedmalloc/nedmalloc.c index d9a17a8057..91c4e7f27b 100644 --- a/compat/nedmalloc/nedmalloc.c +++ b/compat/nedmalloc/nedmalloc.c @@ -603,7 +603,10 @@ static NOINLINE mstate FindMSpace(nedpool *p, threadcache *tc, int *lastUsed, si } /* We really want to make sure this goes into memory now but we have to be careful of breaking aliasing rules, so write it twice */ - *((volatile struct malloc_state **) &p->m[end])=p->m[end]=temp; + { + volatile struct malloc_state **_m=(volatile struct malloc_state **) &p->m[end]; + *_m=(p->m[end]=temp); + } ACQUIRE_LOCK(&p->m[end]->mutex); /*printf("Created mspace idx %d\n", end);*/ RELEASE_LOCK(&p->mutex); |