diff options
author | Sverker Eriksson <[email protected]> | 2014-02-19 17:48:04 +0100 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2014-02-19 17:48:13 +0100 |
commit | d7889a517476a212831f87596dd7b232eed752f8 (patch) | |
tree | 00a4392f5e3d40ceaf32276f593b7533e298af31 /erts/emulator/sys/win32 | |
parent | 5cdba8e38d1e2043959a20739e435cc56453240b (diff) | |
parent | f8693cf61f0555fb0108956f2d21d2234e01251d (diff) | |
download | otp-d7889a517476a212831f87596dd7b232eed752f8.tar.gz otp-d7889a517476a212831f87596dd7b232eed752f8.tar.bz2 otp-d7889a517476a212831f87596dd7b232eed752f8.zip |
Merge branch 'sverk/ets-all-race'
OTP-11726
* sverk/ets-all-race:
erts: Fix faulty asserts in erts_sys_aligned_alloc/free
erts: Fix harmless (?) typo in beam_load.c
erts: Fix race bug in ets:all/0
Diffstat (limited to 'erts/emulator/sys/win32')
-rwxr-xr-x | erts/emulator/sys/win32/sys.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/erts/emulator/sys/win32/sys.c b/erts/emulator/sys/win32/sys.c index 5ea4703a7a..a11ac73ebc 100755 --- a/erts/emulator/sys/win32/sys.c +++ b/erts/emulator/sys/win32/sys.c @@ -1,7 +1,7 @@ /* * %CopyrightBegin% * - * Copyright Ericsson AB 1996-2013. All Rights Reserved. + * Copyright Ericsson AB 1996-2014. All Rights Reserved. * * The contents of this file are subject to the Erlang Public License, * Version 1.1, (the "License"); you may not use this file except in @@ -2757,7 +2757,7 @@ void erts_sys_free(ErtsAlcType_t t, void *x, void *p) void *erts_sys_aligned_alloc(UWord alignment, UWord size) { void *ptr; - ASSERT(alignment && (alignment & ~alignment) == 0); /* power of 2 */ + ASSERT(alignment && (alignment & (alignment-1)) == 0); /* power of 2 */ ptr = _aligned_malloc((size_t) size, (size_t) alignment); ASSERT(!ptr || (((UWord) ptr) & (alignment - 1)) == 0); return ptr; @@ -2765,14 +2765,14 @@ void *erts_sys_aligned_alloc(UWord alignment, UWord size) void erts_sys_aligned_free(UWord alignment, void *ptr) { - ASSERT(alignment && (alignment & ~alignment) == 0); /* power of 2 */ + ASSERT(alignment && (alignment & (alignment-1)) == 0); /* power of 2 */ _aligned_free(ptr); } void *erts_sys_aligned_realloc(UWord alignment, void *ptr, UWord size, UWord old_size) { void *new_ptr; - ASSERT(alignment && (alignment & ~alignment) == 0); /* power of 2 */ + ASSERT(alignment && (alignment & (alignment-1)) == 0); /* power of 2 */ new_ptr = _aligned_realloc(ptr, (size_t) size, (size_t) alignment); ASSERT(!new_ptr || (((UWord) new_ptr) & (alignment - 1)) == 0); return new_ptr; |