diff options
author | Sverker Eriksson <[email protected]> | 2017-10-17 17:01:25 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2017-10-17 17:01:25 +0200 |
commit | 26797db89c0b36757eb538bb7ec2ef8b9e29746a (patch) | |
tree | e7ec397bc0a554bba2d9e108a39d8225ff34157b | |
parent | 290c920aca365968ebaa10a63e25fd2579bce408 (diff) | |
parent | 3aaeab5fb7a259aaec66126d5d50231269e32961 (diff) | |
download | otp-26797db89c0b36757eb538bb7ec2ef8b9e29746a.tar.gz otp-26797db89c0b36757eb538bb7ec2ef8b9e29746a.tar.bz2 otp-26797db89c0b36757eb538bb7ec2ef8b9e29746a.zip |
Merge branch 'sverker/dist-send-noreply-opt/OTP-14689' into maint
* sverker/dist-send-noreply-opt/OTP-14689:
erts: Improve distribution send operations
-rw-r--r-- | erts/emulator/drivers/common/inet_drv.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/erts/emulator/drivers/common/inet_drv.c b/erts/emulator/drivers/common/inet_drv.c index 7b1f4a0e9c..554c48059f 100644 --- a/erts/emulator/drivers/common/inet_drv.c +++ b/erts/emulator/drivers/common/inet_drv.c @@ -2199,13 +2199,16 @@ static int inet_reply_ok(inet_descriptor* desc) ErlDrvTermData caller = desc->caller; int i = 0; + desc->caller = 0; + if (is_not_internal_pid(caller)) + return 0; + i = LOAD_ATOM(spec, i, am_inet_reply); i = LOAD_PORT(spec, i, desc->dport); i = LOAD_ATOM(spec, i, am_ok); i = LOAD_TUPLE(spec, i, 3); ASSERT(i == sizeof(spec)/sizeof(*spec)); - desc->caller = 0; return erl_drv_send_term(desc->dport, caller, spec, i); } |