diff options
author | Rickard Green <[email protected]> | 2010-12-17 10:45:23 +0100 |
---|---|---|
committer | Rickard Green <[email protected]> | 2010-12-17 10:45:23 +0100 |
commit | 3f514f4b5f37ab3a5bf5656cf642e58b1e7c20bb (patch) | |
tree | 1c2961756b0eb4984420897fd6bf9edf6f6a93c2 /erts/emulator/beam/erl_db_util.h | |
parent | f4f3beb158352b23959c09f8b0dfc83013d5fdf2 (diff) | |
parent | 46d9d4c36e1a9d52256b49d6fe6e519fc54a0f6e (diff) | |
download | otp-3f514f4b5f37ab3a5bf5656cf642e58b1e7c20bb.tar.gz otp-3f514f4b5f37ab3a5bf5656cf642e58b1e7c20bb.tar.bz2 otp-3f514f4b5f37ab3a5bf5656cf642e58b1e7c20bb.zip |
Merge branch 'rickard/ets-no-write-refc/OTP-9000' into dev
* rickard/ets-no-write-refc/OTP-9000:
Stop using reference counter when write accessing ETS-tables
Conflicts:
erts/emulator/beam/erl_db.c
Diffstat (limited to 'erts/emulator/beam/erl_db_util.h')
-rw-r--r-- | erts/emulator/beam/erl_db_util.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/erts/emulator/beam/erl_db_util.h b/erts/emulator/beam/erl_db_util.h index 10ba755e80..58ad39d772 100644 --- a/erts/emulator/beam/erl_db_util.h +++ b/erts/emulator/beam/erl_db_util.h @@ -206,8 +206,7 @@ typedef struct db_fixation { */ typedef struct db_table_common { - erts_refc_t ref; - erts_refc_t fixref; /* fixation counter */ + erts_refc_t ref; /* fixation counter and delete counter */ #ifdef ERTS_SMP erts_smp_rwmtx_t rwlock; /* rw lock on table */ erts_smp_mtx_t fixlock; /* Protects fixations,megasec,sec,microsec */ @@ -253,7 +252,7 @@ typedef struct db_table_common { (DB_BAG | DB_SET | DB_DUPLICATE_BAG))) #define IS_TREE_TABLE(Status) (!!((Status) & \ DB_ORDERED_SET)) -#define NFIXED(T) (erts_refc_read(&(T)->common.fixref,0)) +#define NFIXED(T) (erts_refc_read(&(T)->common.ref,0)) #define IS_FIXED(T) (NFIXED(T) != 0) Eterm erts_ets_copy_object(Eterm, Process*); |