From cd69c2a54201b4e0c4ba86d4248937120e1957e7 Mon Sep 17 00:00:00 2001
From: Lukas Larsson
Date: Wed, 8 Jan 2014 18:54:15 +0100
Subject: ose: Create OSE application
Create an specific OSE application that mainly contains documentation
around the OSE specific part of Erlang/OTP.
---
erts/doc/src/driver_entry.xml | 8 ++++++--
erts/doc/src/erl_driver.xml | 6 ++++--
erts/doc/src/run_erl.xml | 2 +-
3 files changed, 11 insertions(+), 5 deletions(-)
(limited to 'erts')
diff --git a/erts/doc/src/driver_entry.xml b/erts/doc/src/driver_entry.xml
index 48dfcb09b1..469b59dba6 100644
--- a/erts/doc/src/driver_entry.xml
+++ b/erts/doc/src/driver_entry.xml
@@ -245,10 +245,14 @@ typedef struct erl_drv_entry {
something that the WaitForMultipleObjects API
function understands). (Some trickery in the emulator allows
more than the built-in limit of 64 Events to be used.)
+ On Enea OSE the event is one or more signals that can
+ be retrieved using erl_drv_ose_get_input_signal.
To use this with threads and asynchronous routines, create a
- pipe on unix and an Event on Windows. When the routine
+ pipe on unix, an Event on Windows or a unique signal number on
+ Enea OSE. When the routine
completes, write to the pipe (use SetEvent on
- Windows), this will make the emulator call
+ Windows or send a message to the emulator process on Enea OSE),
+ this will make the emulator call
ready_input or ready_output.
Spurious events may happen. That is, calls to ready_input
or ready_output even though no real events are signaled. In
diff --git a/erts/doc/src/erl_driver.xml b/erts/doc/src/erl_driver.xml
index 710c9b19cf..8da1836da7 100644
--- a/erts/doc/src/erl_driver.xml
+++ b/erts/doc/src/erl_driver.xml
@@ -1035,7 +1035,9 @@ typedef struct ErlIOVec {
select/poll can use).
On windows, the Win32 API function WaitForMultipleObjects
is used. This places other restrictions on the event object.
- Refer to the Win32 SDK documentation.
+ Refer to the Win32 SDK documentation.
+ On Enea OSE, the receive function is used. See the for more details.
The on parameter should be 1 for setting events
and 0 for clearing them.
The mode argument is a bitwise-or combination of
@@ -1047,7 +1049,7 @@ typedef struct ErlIOVec {
ready_output.
- Some OS (Windows) do not differentiate between read and write events.
+
Some OS (Windows and Enea OSE) do not differentiate between read and write events.
The call-back for a fired event then only depends on the value of mode.
ERL_DRV_USE specifies if we are using the event object or if we want to close it.
diff --git a/erts/doc/src/run_erl.xml b/erts/doc/src/run_erl.xml
index 684f7b1ddd..28e94c6da8 100644
--- a/erts/doc/src/run_erl.xml
+++ b/erts/doc/src/run_erl.xml
@@ -58,7 +58,7 @@
first argument to run_erl on the command line.
pipe_dir
- This is where to put the named pipe, usually
- . It shall be suffixed by a (slash),
+ on Unix or on OSE. It shall be suffixed by a (slash),
i.e. not , but .
log_dir
- This is where the log files are written. There will be one
--
cgit v1.2.3