aboutsummaryrefslogtreecommitdiffstats
path: root/erts
diff options
context:
space:
mode:
authorMicael Karlberg <[email protected]>2019-06-26 11:38:13 +0200
committerMicael Karlberg <[email protected]>2019-06-26 15:06:16 +0200
commit649ca6c803fa923e86c0d0b80a61c762793a94a1 (patch)
tree639badea57e08a7d276e65563527ef05592cdee4 /erts
parent9fa349df4a052b3516ce12984aada247dd1a17a8 (diff)
downloadotp-649ca6c803fa923e86c0d0b80a61c762793a94a1.tar.gz
otp-649ca6c803fa923e86c0d0b80a61c762793a94a1.tar.bz2
otp-649ca6c803fa923e86c0d0b80a61c762793a94a1.zip
[esock] Corrected some counter actions
When to count read failure and read package count used number of bytes read instead of just increment (by 1). OTP-1581
Diffstat (limited to 'erts')
-rw-r--r--erts/emulator/nifs/common/socket_nif.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/erts/emulator/nifs/common/socket_nif.c b/erts/emulator/nifs/common/socket_nif.c
index 83fb4bcf7f..8e679ec6ae 100644
--- a/erts/emulator/nifs/common/socket_nif.c
+++ b/erts/emulator/nifs/common/socket_nif.c
@@ -15211,9 +15211,6 @@ ERL_NIF_TERM recv_check_fail(ErlNifEnv* env,
{
ERL_NIF_TERM res;
- // cnt_inc(&descP->readFails, 1);
- SOCK_CNT_INC(env, descP, sockRef, atom_read_fails, &descP->readFails, 1);
-
FREE_BIN(buf1P); if (buf2P != NULL) FREE_BIN(buf2P);
if (saveErrno == ECONNRESET) {
@@ -15222,6 +15219,10 @@ ERL_NIF_TERM recv_check_fail(ErlNifEnv* env,
SSDBG( descP, ("SOCKET", "recv_check_fail -> closed\r\n") );
+ // This is a bit overkill (to count here), but just in case...
+ // cnt_inc(&descP->readFails, 1);
+ SOCK_CNT_INC(env, descP, sockRef, atom_read_fails, &descP->readFails, 1);
+
res = recv_check_fail_closed(env, descP, sockRef, recvRef);
} else if ((saveErrno == ERRNO_BLOCK) ||
@@ -15236,6 +15237,9 @@ ERL_NIF_TERM recv_check_fail(ErlNifEnv* env,
SSDBG( descP, ("SOCKET", "recv_check_fail -> errno: %d\r\n",
saveErrno) );
+ // cnt_inc(&descP->readFails, 1);
+ SOCK_CNT_INC(env, descP, sockRef, atom_read_fails, &descP->readFails, 1);
+
res = recv_check_fail_gen(env, descP, saveErrno, sockRef);
}
@@ -15400,7 +15404,7 @@ ERL_NIF_TERM recv_check_partial_done(ErlNifEnv* env,
descP->rNumCnt = 0;
// cnt_inc(&descP->readPkgCnt, 1);
- SOCK_CNT_INC(env, descP, sockRef, atom_read_pkg, &descP->readPkgCnt, read);
+ SOCK_CNT_INC(env, descP, sockRef, atom_read_pkg, &descP->readPkgCnt, 1);
// cnt_inc(&descP->readByteCnt, read);
SOCK_CNT_INC(env, descP, sockRef, atom_read_byte, &descP->readByteCnt, read);