aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2019-02-23Merge branch 'maint'Rickard Green
* maint: erts: Fix macro redefinition
2019-02-22erts: Fix macro redefinitionBjörn-Egil Dahlberg
LIST_NEXT and LIST_PREV causes macro redefinitions from other include files. beam/erl_ao_firstfit_alloc.c:103:9: warning: 'LIST_NEXT' macro redefined [-Wmacro-redefined] ^ /usr/include/sys/queue.h:507:9: note: previous definition is here ^ 1 warning generated. beam/erl_bestfit_alloc.c:125:9: warning: 'LIST_NEXT' macro redefined [-Wmacro-redefined] ^ /usr/include/sys/queue.h:507:9: note: previous definition is here ^
2019-02-22Merge branch 'bmk/20190204/socket_as_nif/OTP-14831'Micael Karlberg
2019-02-22[socket] Cleanup and accept restructureMicael Karlberg
Some cleanup (of open, bind, connect) and rewrote the accept code (moved the code into smaller functions). OTP-14831
2019-02-22[socket] More fixes to socket closeMicael Karlberg
Better handling of socket close. The 'closeRef' needed its own environment to make if work in both cases (both called and scheduled). Also Introduced the enif select wrapper functions (read, write, stop and cancel). Also add error handling at every time one of these functions are called. OTP-14831
2019-02-22[socket|doc] Improve the examplesMicael Karlberg
2019-02-22[socket|net|doc] Add 'since' tagMicael Karlberg
Add 'since' tag to the module and func elements. OTP-14831
2019-02-22[socket|doc] Fixed IPv6 PKTINFO typeMicael Karlberg
Another broken anchor fixed. The type 'ipv6_pktinfo' was not exported nor was it part of the doc. OTP-14831
2019-02-22[spocket|net] Updated preloaded app fileMicael Karlberg
Had for some reason forgot to update the (erts) preloaded app-file. OTP-14831
2019-02-22[socket|net|doc] Fixed broken anchorsMicael Karlberg
Fixed broken links to types and functions. OTP-14831
2019-02-22[socket] Fixed socket close bugMicael Karlberg
Fixed a raise condition bug in the socket_stop (callback) function that could result in the socket actually *not* beeing closed. OTP-14831
2019-02-22[net] Deprecated functions needs attributeMicael Karlberg
Add the 'depricated' attribute for the old (and decrepit) functions from the old net module. OTP-14831
2019-02-22[socket|doc] Forgot to run xmllint (again)Micael Karlberg
2019-02-22[socket|doc] Fixed links and stuffMicael Karlberg
Corrected linking references (links) to functions. Also added links from getopt/setopt functions to the users guide. Also added some comments to the socket module regarding open with (ready made) descriptor (which is not yet supported). OTP-14831
2019-02-22[socket-nif] Fix buggy use of NULL-monitorSverker Eriksson
Assert failed in enif_demonitor when called with "NULL-monitor". Replaced null monitor with separate 'is_active' boolean and added my_make_monitor_term for printing (to be replaced with enif_make_monitor_term).
2019-02-22[socket-nif] Fix bug in message sendingSverker Eriksson
Asserts failed in debug vm as msg term was built from mixed ErlNifEnv's.
2019-02-22[socket] Shut dialyzer upMicael Karlberg
2019-02-22[socket|doc] Add preliminary table captionMicael Karlberg
Add preliminary (option) table captions. OTP-14831
2019-02-22[socket|doc] Add a tiny bit more header text and an exampleMicael Karlberg
Add a bit more text in the (socket) module description. Also added a (very) basic example. OTP-14831
2019-02-22[socket|test] Some improvements to (esock) ttestMicael Karlberg
Add a quiet mode for ttest which is used when running in a (terminal) shell. Moved the esock-ttest script(s) into their own directory. Minor improvements to the (client) result printout. Also fixed copyright (end) dates. OTP-14831
2019-02-22[socket] Local address on macOS MojaveMicael Karlberg
Fixed how to figure out local address on macOS Mojave. OTP-14831
2019-02-22[socket-nif] Fix memorys leaks in recv error casesSverker Eriksson
and collapsed some duplicate code
2019-02-22[socket-nif] Fix currentReader/Writer always set at enif_selectSverker Eriksson
2019-02-22[socket-nif] Rename 'nosup' -> 'notsup'Sverker Eriksson
as called in crypto.erl and erlang.erl.
2019-02-22Update preloaded modulesMicael Karlberg
2019-02-22Merge PR-2147 from sverker/sverker/enif-null-pid/OTP-15011Sverker Eriksson
Add enif_set_pid_undefined & enif_is_pid_undefined
2019-02-22Merge branch ↵Lukas Larsson
'lukas/erts/fragment-dist-messages/OTP-13397/OTP-15610/OTP-15611/OTP-15612/OTP-15613' * lukas/erts/fragment-dist-messages/OTP-13397/OTP-15610/OTP-15611/OTP-15612/OTP-15613: erts: Add debug dist obuf memory leak check win32: Fix ./otp_build debuginfo_win32 Make ld.sh on windows print better error reason erts: Fix so that externals with creation 0 compare equal to all erts: Expand etp to look for free processes erts: Implement trapping while sending distr exit/down erts: Add ERL_NODE_BOOKKEEP to node tables refc erts: Refactor ErtsSendContext to be ErtsDSigSendContext erts: Add distr testcases for fragmentation erts: Make remote send of exit/2 trap erts: Implement fragmentation of distrubution messages erts: Expand distribution protocol documentation erts: Move reason in dist messages to payload erts: Remove a copy of distribution data payload erts: Yield later during process exit and allow free procs to run erts: Refactor rbt _yielding to use reductions erts: Limit binary printout for %.XT in erts_print
2019-02-22erts: Add debug dist obuf memory leak checkLukas Larsson
2019-02-22Make ld.sh on windows print better error reasonLukas Larsson
2019-02-22erts: Fix so that externals with creation 0 compare equal to allLukas Larsson
The special creation of 0 is used by internally created externals, such as when list_to_pid is called. This creation should compare equal to all externals creations of that external. If it does not we can end up in very strange scenarios. For instance: > P = spawn(OtherNode, fun() -> die end). <8303.60.0> > link(<8303.60.0>). true > flush(). ok OTP-15613
2019-02-22erts: Expand etp to look for free processesLukas Larsson
2019-02-22erts: Implement trapping while sending distr exit/downLukas Larsson
The reason in EXIT and DOWN may be arbitrarily large, so we yield and allow other processes to execute while encoding and sending the signals over the distribution.
2019-02-22erts: Add ERL_NODE_BOOKKEEP to node tables refcLukas Larsson
2019-02-22erts: Refactor ErtsSendContext to be ErtsDSigSendContextLukas Larsson
This commit removed the general send context (which was used very little anyways) and only uses the distributed send context. This will make it easier to use the dist API at the cost of a little bit more code for the local send.
2019-02-22erts: Add distr testcases for fragmentationLukas Larsson
2019-02-22erts: Make remote send of exit/2 trapLukas Larsson
OTP-15612
2019-02-22erts: Implement fragmentation of distrubution messagesLukas Larsson
2019-02-22erts: Expand distribution protocol documentationLukas Larsson
2019-02-21erts: Move reason in dist messages to payloadLukas Larsson
The dist messages EXIT, EXIT2 and MONITOR_DOWN have been updated with new versions that send the reason term as part of the payload of the message instead of as part of the control message. This allows the decode of the reason to be done by the receiving process instead of the dist entry which in turn makes it possible for multiple decodes to be done in parallel. This change is done in order to make it easier to fragment the potentially large payload of EXIT, EXIT2 and MONITOR_DOWN into multiple distribution messages. OTP-15611
2019-02-21erts: Remove a copy of distribution data payloadLukas Larsson
Before this change the inet driver was in list mode and thus the data from it had to be copied when received by the dist entry. This change puts the tcp port in binary mode and makes the any refc binary created by it be used all the way to the process where it is decoded. Thus eliminating one copy of the entire message payload.
2019-02-21erts: Yield later during process exit and allow free procs to runLukas Larsson
OTP-15610
2019-02-21fixup! erts: Add enif_compare_pidsSverker Eriksson
fix broken html link
2019-02-20Merge branch 'maint'Sverker Eriksson
2019-02-20Merge branch 'sverker/erts/term_to_binary-reductions/ERL-774/OTP-15514' into ↵Sverker Eriksson
maint * sverker/erts/term_to_binary-reductions/ERL-774/OTP-15514: erts: Consume reductions for strings in term_to_binary erts: Reduce number of list traversals in term_to_binary
2019-02-20erts: Consume reductions for strings in term_to_binarySverker Eriksson
Cost per string byte, but we still don't yield mid-string.
2019-02-20Merge branch 'maint'Sverker Eriksson
2019-02-20Merge branch 'sverker/enif_consume_timeslice-dirty-nop/OTP-15604' into maintSverker Eriksson
* sverker/enif_consume_timeslice-dirty-nop/OTP-15604: erts: Make enif_consume_timeslice no-op on dirty sched
2019-02-20erts: Add enif_compare_pidsSverker Eriksson
as a macro wrappper around enif_compare
2019-02-20erts: Add enif_set_pid_undefined & enif_is_pid_undefinedSverker Eriksson
2019-02-19Merge branch 'sverker/enif_select-docs'Sverker Eriksson