aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/global.h
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2012-06-19 15:39:26 +0200
committerRickard Green <[email protected]>2012-12-03 21:18:08 +0100
commit620c8c5bfe4c2b306a7bc0a7d41749bddea4ee62 (patch)
treee7f3a3dd25419c39e3acb56d7ef81860c13f33c1 /erts/emulator/beam/global.h
parent56cef897ca3ad2377e34a6ea5800a54a28cbeb6e (diff)
downloadotp-620c8c5bfe4c2b306a7bc0a7d41749bddea4ee62.tar.gz
otp-620c8c5bfe4c2b306a7bc0a7d41749bddea4ee62.tar.bz2
otp-620c8c5bfe4c2b306a7bc0a7d41749bddea4ee62.zip
Use rwlock for driver list
Conflicts: erts/emulator/beam/io.c
Diffstat (limited to 'erts/emulator/beam/global.h')
-rw-r--r--erts/emulator/beam/global.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/erts/emulator/beam/global.h b/erts/emulator/beam/global.h
index 0de11afee9..bce4619645 100644
--- a/erts/emulator/beam/global.h
+++ b/erts/emulator/beam/global.h
@@ -110,7 +110,7 @@ typedef struct {
or that wait for it to change state */
erts_refc_t refc; /* Number of ports/processes having
references to the driver */
- Uint port_count; /* Number of ports using the driver */
+ erts_smp_atomic32_t port_count; /* Number of ports using the driver */
Uint flags; /* ERL_DE_FL_KILL_PORTS */
int status; /* ERL_DE_xxx */
char *full_path; /* Full path of the driver */
@@ -162,7 +162,7 @@ struct erts_driver_t_ {
};
extern erts_driver_t *driver_list;
-extern erts_smp_mtx_t erts_driver_list_lock;
+extern erts_smp_rwmtx_t erts_driver_list_lock;
extern void erts_ddll_init(void);
extern void erts_ddll_lock_driver(DE_Handle *dh, char *name);