aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2019-04-24 14:42:45 +0200
committerRickard Green <[email protected]>2019-04-24 14:46:25 +0200
commit44b56000116a473082d7bcfef911f510972b9cec (patch)
treec8c1445f2279988aa2dbcded0239313a80c58028
parentd3ce6a22bc2fce0607f9ab131dcea160b1d66521 (diff)
downloadotp-44b56000116a473082d7bcfef911f510972b9cec.tar.gz
otp-44b56000116a473082d7bcfef911f510972b9cec.tar.bz2
otp-44b56000116a473082d7bcfef911f510972b9cec.zip
Fix distribution queue size adjustment
-rw-r--r--erts/emulator/beam/dist.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/erts/emulator/beam/dist.c b/erts/emulator/beam/dist.c
index 27599f38e0..d15db760a2 100644
--- a/erts/emulator/beam/dist.c
+++ b/erts/emulator/beam/dist.c
@@ -3455,6 +3455,8 @@ dist_ctrl_get_data_1(BIF_ALIST_1)
obufsize -= size_obuf(obuf);
if (reds < 0) {
erts_de_runlock(dep);
+ if (obufsize)
+ erts_atomic_add_nob(&dep->qsize, (erts_aint_t) -obufsize);
ERTS_BIF_YIELD1(bif_export[BIF_dist_ctrl_get_data_1],
BIF_P, BIF_ARG_1);
}