diff options
author | Sverker Eriksson <[email protected]> | 2012-08-29 16:23:55 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2012-08-29 16:23:55 +0200 |
commit | f3b7163813027e37951d82fed15c49fefa89f741 (patch) | |
tree | d0c7911317d843166767e7125dd6ed4e88b5dcdc /erts/emulator/beam/erl_async.c | |
parent | 5a68678e673e3dfe5c24fa0495fbf61743c416a9 (diff) | |
parent | 46820dc1ce466d383e464cb5ffb8cec676039f8b (diff) | |
download | otp-f3b7163813027e37951d82fed15c49fefa89f741.tar.gz otp-f3b7163813027e37951d82fed15c49fefa89f741.tar.bz2 otp-f3b7163813027e37951d82fed15c49fefa89f741.zip |
Merge branch 'maint'
Diffstat (limited to 'erts/emulator/beam/erl_async.c')
-rw-r--r-- | erts/emulator/beam/erl_async.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/erts/emulator/beam/erl_async.c b/erts/emulator/beam/erl_async.c index d85c6feba7..c5f432bea1 100644 --- a/erts/emulator/beam/erl_async.c +++ b/erts/emulator/beam/erl_async.c @@ -397,6 +397,8 @@ static ERTS_INLINE void call_async_ready(ErtsAsync *a) } erts_port_release(p); } + if (a->pdl) + driver_pdl_dec_refc(a->pdl); if (a->hndl) erts_ddll_dereference_driver(a->hndl); } @@ -406,9 +408,6 @@ static ERTS_INLINE void async_reply(ErtsAsync *a, ErtsThrQPrepEnQ_t *prep_enq) #if ERTS_USE_ASYNC_READY_Q ErtsAsyncReadyQ *arq; - if (a->pdl) - driver_pdl_dec_refc(a->pdl); - #if ERTS_ASYNC_PRINT_JOB erts_fprintf(stderr, "=>> %ld\n", a->async_id); #endif @@ -428,8 +427,6 @@ static ERTS_INLINE void async_reply(ErtsAsync *a, ErtsThrQPrepEnQ_t *prep_enq) #else /* ERTS_USE_ASYNC_READY_Q */ call_async_ready(a); - if (a->pdl) - driver_pdl_dec_refc(a->pdl); erts_free(ERTS_ALC_T_ASYNC, (void *) a); #endif /* ERTS_USE_ASYNC_READY_Q */ |