diff options
author | Lukas Larsson <[email protected]> | 2013-03-14 15:42:19 +0100 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2014-02-24 15:15:55 +0100 |
commit | 200fbe924466720bd2a8c5eb05b05d67b0a2414c (patch) | |
tree | e78056a1247d75978646b629cd0e01688e65ff58 /erts/emulator/beam/io.c | |
parent | fdcdaca338849d7f63d4300e489318f6ee275d82 (diff) | |
download | otp-200fbe924466720bd2a8c5eb05b05d67b0a2414c.tar.gz otp-200fbe924466720bd2a8c5eb05b05d67b0a2414c.tar.bz2 otp-200fbe924466720bd2a8c5eb05b05d67b0a2414c.zip |
Added support for ENEA OSE
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.
Diffstat (limited to 'erts/emulator/beam/io.c')
-rw-r--r-- | erts/emulator/beam/io.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/erts/emulator/beam/io.c b/erts/emulator/beam/io.c index 3b16cdeb4a..f4d905552d 100644 --- a/erts/emulator/beam/io.c +++ b/erts/emulator/beam/io.c @@ -49,7 +49,9 @@ #include "erl_map.h" extern ErlDrvEntry fd_driver_entry; +#ifndef __OSE__ extern ErlDrvEntry vanilla_driver_entry; +#endif extern ErlDrvEntry spawn_driver_entry; extern ErlDrvEntry *driver_tab[]; /* table of static drivers, only used during initialization */ @@ -2764,7 +2766,9 @@ void erts_init_io(int port_tab_size, erts_smp_rwmtx_rwlock(&erts_driver_list_lock); init_driver(&fd_driver, &fd_driver_entry, NULL); +#ifndef __OSE__ init_driver(&vanilla_driver, &vanilla_driver_entry, NULL); +#endif init_driver(&spawn_driver, &spawn_driver_entry, NULL); erts_init_static_drivers(); for (dp = driver_tab; *dp != NULL; dp++) @@ -7333,6 +7337,9 @@ init_driver(erts_driver_t *drv, ErlDrvEntry *de, DE_Handle *handle) drv->stop_select = de->stop_select; else drv->stop_select = no_stop_select_callback; +#ifdef __OSE__ + drv->resolve_signal = de->resolve_signal; +#endif if (!de->init) return 0; |