diff options
author | Rickard Green <[email protected]> | 2012-08-15 01:28:55 +0200 |
---|---|---|
committer | Rickard Green <[email protected]> | 2012-12-03 21:18:06 +0100 |
commit | 50cb7c24f061fd3d7df5970d8202f47c470a4047 (patch) | |
tree | 8d352994515c3217052cc5b64b78b597028ca75c /erts/emulator/beam/erl_async.c | |
parent | b434a3ab242dde66e23a72122474854f51a61eff (diff) | |
download | otp-50cb7c24f061fd3d7df5970d8202f47c470a4047.tar.gz otp-50cb7c24f061fd3d7df5970d8202f47c470a4047.tar.bz2 otp-50cb7c24f061fd3d7df5970d8202f47c470a4047.zip |
Use ptab functionality also for ports
Diffstat (limited to 'erts/emulator/beam/erl_async.c')
-rw-r--r-- | erts/emulator/beam/erl_async.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_async.c b/erts/emulator/beam/erl_async.c index 8d3bea82c1..d8adaedc91 100644 --- a/erts/emulator/beam/erl_async.c +++ b/erts/emulator/beam/erl_async.c @@ -375,10 +375,15 @@ static ERTS_INLINE ErtsAsync *async_get(ErtsThrQ_t *q, static ERTS_INLINE void call_async_ready(ErtsAsync *a) { +#if ERTS_USE_ASYNC_READY_Q Port *p = erts_id2port_sflgs(a->port, NULL, 0, ERTS_PORT_SFLGS_INVALID_DRIVER_LOOKUP); +#else + Port *p = erts_thr_id2port_sflgs(a->port, + ERTS_PORT_SFLGS_INVALID_DRIVER_LOOKUP); +#endif if (!p) { if (a->async_free) a->async_free(a->async_data); @@ -388,7 +393,11 @@ static ERTS_INLINE void call_async_ready(ErtsAsync *a) if (a->async_free) a->async_free(a->async_data); } +#if ERTS_USE_ASYNC_READY_Q erts_port_release(p); +#else + erts_thr_port_release(p); +#endif } if (a->hndl) erts_ddll_dereference_driver(a->hndl); |