Age | Commit message (Collapse) | Author |
|
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
|
|
bmk/20180918/nififying_inet/OTP-14831
|
|
|
|
* 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
|
|
The default read buffer size was 2K and has now been
increased to 8K.
OTP-14831
|
|
The ping-pong merge had some problems...
|
|
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
|
|
Added config checks for the sctp struct field:
sctp_event_subscribe.sctp_sender_dry_event
Also, if-def'ed the code accordingly.
OTP-14831
|
|
bmk/20180918/nififying_inet/OTP-14831
|
|
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
|
|
Added a socket close (actually shutdown(write)) for recv and
recvmsg for tcp.
OTP-14831
|
|
Added ping-pong test cases for UDP, small and medium, using
the sendto/recvfrom and sendmsg/recvmsg functions.
OTP-14831
|
|
When type = dgram, the functions recvfrom and recvmsg did not
properly handle socket close, cuaing the caller to hang
indefinitely.
OTP-14831
|
|
Some minor restructure of the ping-pong test cases in order
to not have duplicate the send and receive fun's.
OTP-14831
|
|
Added New ping-pong test cases using the sendmsg and recvmsg functions.
OTP-14831
|
|
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
|
|
Make it possible to open a file and send debug printouts to
(instead of stdout) for debug printouts from the nif-code.
OTP-14831
|
|
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
|
|
An "accepted" socket will inherit the parent (listen) socket's
buffer sizes (rBufSz, rCtrlSz and wCtrlSz).
OTP-14831
|
|
We got some kind of send hang...
|
|
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
|
|
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
|
|
Use the evaluator functions for communication between processes
also for communication between "slave" processes (on other nodes).
OTP-14831
|
|
All test cases has been updated using the new evaluator module
(and their macros).
OTP-14831
|
|
Add a "proper" evaluator module and adapted a couple
of test cases to use that instead.
OTP-14831
|
|
Updated the socket (remote) close test case(s) sc_rc_receive_response_tcp.
Now has three (remote) client connecting.
OTP-14831
|
|
Updated the socket (local) close test case(s) sc_lc_acceptor_response_tcp
with the new evaluator interface functions.
OTP-14831
|
|
Updated the socket (remote) close test case(s) sc_rc_receive_response_tcp
with the new evaluator interface functions.
OTP-14831
|
|
Updated the socket (local) close test case(s) sc_lc_receive_response_udp
with the new evaluator interface functions.
OTP-14831
|
|
Updated the socket (local) close test case(s) sc_lc_receive_response_tcp
with the new evaluator interface functions.
OTP-14831
|
|
Updated the socket close test case(s) sc_cpe_socket_cleanup
with the new evaluator interface functions.
OTP-14831
|
|
Updated the basic api timeout test case(s) api_to_maccept_tcp
with the new evaluator interface functions.
OTP-14831
|
|
Updated the basic api timeout test case api_to_connect_tcp
with the new evaluator interface functions.
OTP-14831
|
|
Updated the basic api option test case
api_opt_simple_otp_controlling_process
with the new evaluator interface functions.
OTP-14831
|
|
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
|
|
Added simple evaluator interface functions, so that it is
simple for evaluators to interact (and unified).
Only two test cases so far...
OTP-14831
|
|
Added two remote close socket closure test cases (for
IPv4 TCP): sc_rc_recv_response_tcp4 and sc_rc_recvmsg_response_tcp4.
OTP-14831
|
|
Add test cases for tcp local socket close for the accept function.
OTP-14831
|
|
Add test cases for udp local socket close for UDP recvfrom and
recvmsg.
OTP-14831
|
|
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
|
|
The receive response local close tcp cases was extended
wityh two more handler (readers).
OTP-14831
|
|
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
|
|
|
|
OTP-14831
|
|
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
|
|
bmk/20180918/nififying_inet/OTP-14831
|
|
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
|
|
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
|
|
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
|
|
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
|