aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/sys/ose
AgeCommit message (Collapse)Author
2015-07-10ose: Remove all code related to the OSE portLukas Larsson
The OSE port is no longer supported and this commit removed it and any changes related to it. The things that were general improvements have been left in the code.
2015-06-18Change license text to APLv2Bruce Yinhe
2015-05-08Merge branch 'rickard/timer-optimization/OTP-12650'Rickard Green
* rickard/timer-optimization/OTP-12650: Optimized timer implementation Reusable red-black tree implementation Conflicts: erts/emulator/beam/erl_bif_timer.c
2015-05-08Optimized timer implementationRickard Green
2015-04-22Merge branch 'sverk/pr632/prevent-illegal-nif-terms/OTP-12655'Sverker Eriksson
* sverk/pr632/prevent-illegal-nif-terms/OTP-12655: erts: Reject non-finite float terms in erl_drv_output_term erts: Remove old docs about experimental NIF versions. erts: Add enif_has_pending_exception erts: Clearify erl_nif documentation about badarg exception erts: Fix compile warning in enif_make_double erts: Fix divide by zero compile error in nif_SUITE.c erts: Fix isfinite for windows Ensure NIF term creation disallows illegal values
2015-04-15erts: Fix isfinite for windowsSverker Eriksson
Add macro erts_isfinite as an OS independent way to check if a float is finite.
2015-03-20Introduce a new time APIRickard Green
The old time API is based on erlang:now/0. The major issue with erlang:now/0 is that it was intended to be used for so many unrelated things. This tied these unrelated operations together and unnecessarily caused performance, scalability as well as accuracy, and precision issues for operations that do not need to have such issues. The new API spreads different functionality over multiple functions in order to improve on this. The new API consists of a number of new BIFs: - erlang:convert_time_unit/3 - erlang:monotonic_time/0 - erlang:monotonic_time/1 - erlang:system_time/0 - erlang:system_time/1 - erlang:time_offset/0 - erlang:time_offset/1 - erlang:timestamp/0 - erlang:unique_integer/0 - erlang:unique_integer/1 - os:system_time/0 - os:system_time/1 and a number of extensions of existing BIFs: - erlang:monitor(time_offset, clock_service) - erlang:system_flag(time_offset, finalize) - erlang:system_info(os_monotonic_time_source) - erlang:system_info(time_offset) - erlang:system_info(time_warp_mode) - erlang:system_info(time_correction) - erlang:system_info(start_time) See the "Time and Time Correction in Erlang" chapter of the ERTS User's Guide for more information.
2014-03-26ose: Fix erts assert failed printoutsLukas Larsson
2014-03-26ose: fix for packet_bytes in fd/spawn driver.Jonas Karlsson
2014-03-26ose: Fix bug when hunting for signal proxyLukas Larsson
Sometimes the wrong signal, i.e. a read reply, would be received from this non-selective receive.
2014-03-26ose: Implement tcp inet driver for OSELukas Larsson
The inet driver for OSE has to handle signals instead of selects and thus the wrappers for ready_input/output are a little bit different. However the majority of the inet code remains the same.
2014-03-26ose: Print faults in aio sys driver callsLukas Larsson
2014-03-26ose: erlang display goes to ramlog printfLukas Larsson
2014-03-26ose: Initiate stdin/stdout/stderrLukas Larsson
Needed to get std io to work in some OSE systems where stdio is not opened when the program starts.
2014-03-26ose: Break lmconf into one per load moduleLukas Larsson
2014-03-23ose: Reset busy port when pdq emptyLukas Larsson
2014-03-23ose: Restore the owner of the signalAdrian Mangeac
As any scheduler process can consume any message we have to make sure that the message is owned by the scheduler before returning it in erl_drv_ose_get_signal.
2014-02-24ose: Updating fd_driver and spawn_driver for OSEJonas Karlsson
2014-02-24ose: Updating event and signal API for OSEJonas Karlsson
2014-02-24ose: Thread priorities configurable from lmconfLukas Larsson
The pattern used for getting the priority from the lmconf is based on the name of the process created. The pattern is: ERTS_%%PROCESS_NAME%%_PRIO with the %%PROCESS_NAME%% replaced by the prefix of the process the priority applies to. eg: ERTS_SCHEDULER_PRIO=24 applies to processes with name SCHEDULER_1, SCHEDULER_2 etc.
2014-02-24ose: Cleanup POLL_SCHED_1 codeLukas Larsson
Now schedulers 2..N make sure to wake sched 1 if they find that all io has been consumed and sched 1 is sleeping. Before sched 1 was spinning in sys_schedule waiting for sched 2..N to finish consuming io jobs
2014-02-24ose: Added Enea copyright header to lcf files.Robert Paal
Also removed softkernel lcf files.
2014-02-24ose: Eliminating delays when trying to open filesRobert Paal
When opening filers on not mounted volumes the default timeout on OSE is quite big and since at startup we load something like 20 beam files this slows down startup by as much as 50 seconds.
2014-02-24ose: Update ddll interface after rebase to 17.0-rc1Lukas Larsson
Also deleted all the copy-paste stuff
2014-02-24ose: Add fair scheduling yieldsLukas Larsson
This is needed on OSs that do not do round robin scheduling of threads.
2014-02-24ose: Port run_erl and to_erlLukas Larsson
2014-02-24ose: Rewrite resolve_signal API for ose driversLukas Larsson
This new API has less impact on the check_io code and also removes the callback from ErlDrvEntry. The downside is that you have to give the resolve function when creating each event. Also the mode if the resolve was removed as this mimics the win32 code and decreases complexity.
2014-02-24ose: Fix starting with pm_createLukas Larsson
For some reason starting with pm_create offsets the input argument list by one, so we have to adjust them before calling erl_start.
2014-02-24ose: Update erl_assert_error after R16B03 api changeLukas Larsson
2014-02-24ose: OSE port related cleanup and fixesJonas Karlsson
Some OSE cross-chains have problems with system includes being used, so for atleast OSE specific parts we use "" instead of <>.
2014-02-24ose: Fix printout to stdout to not duplicate long buffersLukas Larsson
2014-02-24ose: Use spinlock as default heap lock mechanismJonas Karlsson
2014-02-24ose: Style updates onlyLukas Larsson
2014-02-24ose: Fix various build environment issuesLukas Larsson
2014-02-24ose: Change signal base to registered rangeLukas Larsson
2014-02-24ose: Add eh_frame_hdr section to linker fileLukas Larsson
2014-02-24ose: Add link conf for gcc 4.4.3Lukas Larsson
2014-02-24ose: Copied driver_int.h from unixLukas Larsson
2014-02-24ose: Add module that allows interaction with any OSE processLukas Larsson
The interface of this module is made to be as generic as possible in order for other IPC mechanisms to mimic it and allow porting of code between different os:es.
2014-02-24ose: Change start way to use arguments to beam.smp directlyLukas Larsson
The old way registered a shell command that needed to be executed. This way is more flexible as you can also use the lmconf file to set arguments there.
2014-02-24ose: Extract signal numbers to common fileLukas Larsson
2014-02-24ose: Force atleast one async thread for oseLukas Larsson
This is needed because a file has to be opened and operated on in the same process at all times. Using async threads guarantee this.
2014-02-24ose: Add signal debugging macrosLukas Larsson
To enable just uncomment and all signals going in or out will be printed to stdout.
2014-02-24ose: Add unsetenv and update to use get_envLukas Larsson
Before get_envp was used and this caused the environment variables to not be accessible in the correct way by use debug tools.
2014-02-24Added support for ENEA OSELukas Larsson
This port has support for both non-smp and smp. It contains a new way to do io checking in which erts_poll_wait receives the payload of the polled entity. This has implications for all linked-in drivers.