aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator
AgeCommit message (Collapse)Author
2018-12-06[socket-nif] Valgrind: plugged memory leaks in nif_recvMicael Karlberg
Running valgrind, found a couple of cases when allocated binaries where not released. Mostly when the recv failed for some reason. Also clear and free the environment associated with the socket (resource) (in the _dtor callback function). OTP-14831
2018-12-05Merge branch 'bmk/20181205/nififying_inet_ttest/OTP-14831' into ↵Micael Karlberg
bmk/20180918/nififying_inet/OTP-14831
2018-12-05[socket-nif|test] Added the proper time-test codeMicael Karlberg
2018-12-05[socket-nif] Fixed two minor problems with socket close and downMicael Karlberg
* Socket close callback Only demonitor the closer if its local (close) and its not a direct call. There was a spurious warning message. * Down callback Only process this event if the socket is not closed or closing. OTP-14831
2018-12-05[socket-nif] Increased the default read buffer sizeMicael Karlberg
The default read buffer size was 2K and has now been increased to 8K. OTP-14831
2018-12-05[socket-nif|test] Fixed the test suiteMicael Karlberg
The ping-pong merge had some problems...
2018-11-27[socket-nif] Conditional use of sctp struct fieldMicael Karlberg
Added config checks for the sctp struct field: sctp_event_subscribe.sctp_authentication_event Also, if-def'ed the code accordingly. If-def'ed code to handle the (non-) existence of IP_PMTUDISC_PROBE and IPV6_PMTUDISC_PROBE for the IP and IPv6 MTU_DISCOVER options. OTP-14831
2018-11-26[socket-nif] Conditional use of sctp struct fieldMicael Karlberg
Added config checks for the sctp struct field: sctp_event_subscribe.sctp_sender_dry_event Also, if-def'ed the code accordingly. OTP-14831
2018-11-22Merge branch 'bmk/20181115/nififying_inet_tests/OTP-14831' into ↵Micael Karlberg
bmk/20180918/nififying_inet/OTP-14831
2018-11-16[socket-nif|test] Attempt to "fix" the api_to_connect_tcpX test casesMicael Karlberg
Attempt to fix the the api_to_connect_tcp[4|6] test cases. On some linux versions (Ubuntu 14), the backlog seems to not work. No luck... OTP-14831
2018-11-15[socket-nif|test] Add test case for socket closeMicael Karlberg
Added a socket close (actually shutdown(write)) for recv and recvmsg for tcp. OTP-14831
2018-11-06[socket-nif|test] Add UDP ping-pong test casesMicael Karlberg
Added ping-pong test cases for UDP, small and medium, using the sendto/recvfrom and sendmsg/recvmsg functions. OTP-14831
2018-11-06[socket-nif] Badly handled socket close for recvfrom and recvmsgMicael Karlberg
When type = dgram, the functions recvfrom and recvmsg did not properly handle socket close, cuaing the caller to hang indefinitely. OTP-14831
2018-11-05[socket-nif|test] Some minor restructure of the ping-pong casesMicael Karlberg
Some minor restructure of the ping-pong test cases in order to not have duplicate the send and receive fun's. OTP-14831
2018-11-05[socket-nif|test] Add sendmsg/recvmsg ping-pong test casesMicael Karlberg
Added New ping-pong test cases using the sendmsg and recvmsg functions. OTP-14831
2018-11-05[socket-nif] Sending when buffer is full failedMicael Karlberg
When the send buffer was full (eagain), the send failed (with the rather useless return of {ok, -1}) instead of returning {error, eagain}. OTP-14831
2018-11-05[socket-nif] Make it possible to send (nif) debug to fileMicael Karlberg
Make it possible to open a file and send debug printouts to (instead of stdout) for debug printouts from the nif-code. OTP-14831
2018-11-02[socket-nif|test] Biffer init and message sizes in ping-pong caseMicael Karlberg
The ping-pong test case(s) now initiates the socket buffers before they are connected (server: before listen is called on the listen socket and client: before connect is called). Also, we now include a length indicator in the messages, so that we know how much to read. OTP-14831
2018-11-02[socket-nif] Inherit buffer sizes when acceptingMicael Karlberg
An "accepted" socket will inherit the parent (listen) socket's buffer sizes (rBufSz, rCtrlSz and wCtrlSz). OTP-14831
2018-11-01[sock-nif|test] Add a ping-pong test caseMicael Karlberg
We got some kind of send hang...
2018-10-30[socket-nif] Add a send and receive chunks test caseMicael Karlberg
The send and recv test case triggered a two bugs. One was that there was no re-selecting when only a portion of the data was received (which meant that we stopped reading). Also, the wrong 'current' (writer) was reset when demonitor current reader after a successful read (which meant that future readers would never have been monitored). OTP-14831
2018-10-30[socket-nif|test] Make more use of the evaluator funcsMicael Karlberg
Make more use the evaluator functions for communication between processes. Specifically, between the server and its handler processes in the sc_rc_receive_response_tcp test cases(s). OTP-14831
2018-10-29[socket-nif|test] Make more use of the evaluator funcsMicael Karlberg
Use the evaluator functions for communication between processes also for communication between "slave" processes (on other nodes). OTP-14831
2018-10-29[socket-nif|test] All test cases now using evaluator moduleMicael Karlberg
All test cases has been updated using the new evaluator module (and their macros). OTP-14831
2018-10-26[socket-nif|test] Added "proper" evaluator moduleMicael Karlberg
Add a "proper" evaluator module and adapted a couple of test cases to use that instead. OTP-14831
2018-10-26[socket-nif|test] Updated socket (remote) close test case(s)Micael Karlberg
Updated the socket (remote) close test case(s) sc_rc_receive_response_tcp. Now has three (remote) client connecting. OTP-14831
2018-10-25[socket-nif|test] Updated socket (local) close test case(s)Micael Karlberg
Updated the socket (local) close test case(s) sc_lc_acceptor_response_tcp with the new evaluator interface functions. OTP-14831
2018-10-25[socket-nif|test] Updated socket (remote) close test case(s)Micael Karlberg
Updated the socket (remote) close test case(s) sc_rc_receive_response_tcp with the new evaluator interface functions. OTP-14831
2018-10-25[socket-nif|test] Updated socket (local) close test case(s)Micael Karlberg
Updated the socket (local) close test case(s) sc_lc_receive_response_udp with the new evaluator interface functions. OTP-14831
2018-10-25[socket-nif|test] Updated socket (local) close test case(s)Micael Karlberg
Updated the socket (local) close test case(s) sc_lc_receive_response_tcp with the new evaluator interface functions. OTP-14831
2018-10-25[socket-nif|test] Updated socket close test case(s)Micael Karlberg
Updated the socket close test case(s) sc_cpe_socket_cleanup with the new evaluator interface functions. OTP-14831
2018-10-24[socket-nif|test] Updated the basic timeout multi accept test caseMicael Karlberg
Updated the basic api timeout test case(s) api_to_maccept_tcp with the new evaluator interface functions. OTP-14831
2018-10-24[socket-nif|test] Updated the basic timeout connect test caseMicael Karlberg
Updated the basic api timeout test case api_to_connect_tcp with the new evaluator interface functions. OTP-14831
2018-10-24[socket-nif|test] Updated the basic option ctrl proc test caseMicael Karlberg
Updated the basic api option test case api_opt_simple_otp_controlling_process with the new evaluator interface functions. OTP-14831
2018-10-24[socket-nif|test] Updated the basic send and recv tcp test casesMicael Karlberg
Updated the basic api test cases api_b_send_and_recv_tcp4 and api_b_sendmsg_and_recvmsg_tcp4 with the new evaluator interface functions. OTP-14831
2018-10-23[socket-nif|test] Evaluator interface functionsMicael Karlberg
Added simple evaluator interface functions, so that it is simple for evaluators to interact (and unified). Only two test cases so far... OTP-14831
2018-10-23[socket-nif|test] Add two "remote close" test casesMicael Karlberg
Added two remote close socket closure test cases (for IPv4 TCP): sc_rc_recv_response_tcp4 and sc_rc_recvmsg_response_tcp4. OTP-14831
2018-10-22[socket-nif|test] Add test case for accept handling socket closeMicael Karlberg
Add test cases for tcp local socket close for the accept function. OTP-14831
2018-10-22[socket-nif|test] Add test cases for UDP recvfrom and recvmsgMicael Karlberg
Add test cases for udp local socket close for UDP recvfrom and recvmsg. OTP-14831
2018-10-22[socket-nif] Initiation of "current reader" missing for recvfromMicael Karlberg
When calling the recvfrom function when there is no data, we should be made wait (for the specified amount of time). But this did not work because the "current reader" structure was not initiated. OTP-14831
2018-10-19[socket-nif|test] Local close cases extendedMicael Karlberg
The receive response local close tcp cases was extended wityh two more handler (readers). OTP-14831
2018-10-19[socket-nif|test] Evaluator improvementsMicael Karlberg
Add name to evaluator printouts. Also added timetraps to all test- cases to shorten the time to wait in case a test case fails. OTP-14831
2018-10-19[socket-nif|test] IO fixesMicael Karlberg
2018-10-19[socket-nif|test] Moved socket tests from kernel to erts/emulatorMicael Karlberg
OTP-14831
2018-10-18[socket-nif] setopt and getopt with level ipv6Micael Karlberg
The level argument for IPv6 can be either SOL_IPV6 or IPPROTO_IPV6, whichever is defined. But it was hard- coded to SOL_IPV6, which is not defined on FreeBSD. OTP-14831
2018-10-18Merge branch 'bmk/20181004/nififying_inet_rework_test_suite/OTP-14831' into ↵Micael Karlberg
bmk/20180918/nififying_inet/OTP-14831
2018-10-18[socket-nif] Initiation of "current reader" missing for recvmsgMicael Karlberg
When calling the recvmsg function when there is no data, we should be wait (for the specified amount of time). But this not not wotk because the "current reader" structure was not initiated. OTP-14831
2018-10-18[socket-nif] Socket closeMicael Karlberg
Fixed a number of issues regarding monitor handling. Monitors are now wrapped in its own type (ESockMonitor). This is hopefully temporary! The reason for this is that there is no way to "initialize" a monitor after a demonitor. This could mean that after a successful demonitor, you could still get a down-callback, and thenh compare with, for instance, ctrlMOn field and get a match, even though it was just (successfully) demonitor'ed. To make debugging easier, the monitor and demonitor calls are now wrapped in their own functions, with debug printouts before and in case of failure, also after the actual calls Also, fixed a number of problems with cancel, where monitors where left still active after cleaning up current and active reader, writer and acceptor. OTP-14831
2018-10-16[socket-nif] Recv handling of closing socketsMicael Karlberg
Fixed more issues regarding closing sockets. Specifically with respect to recv calls. Also, added demonitor for all *current* processes. Also fixed a buffer overflow problem when writing an warning message (the timestamp buffer was not large enough). OTP-14831
2018-10-15[socket-nif] Fix socket close when owner process exitsMicael Karlberg
The handling of terminating controlling-process was incomplete. Also added state check (CLOSED and CLOSING) in all nif-functions to prevent access for a closed (or closing) socket. OTP-14831