diff options
-rw-r--r-- | erts/emulator/beam/erl_driver.h | 4 | ||||
-rw-r--r-- | erts/emulator/beam/io.c | 4 |
2 files changed, 5 insertions, 3 deletions
diff --git a/erts/emulator/beam/erl_driver.h b/erts/emulator/beam/erl_driver.h index d553622bfe..e80eae0b86 100644 --- a/erts/emulator/beam/erl_driver.h +++ b/erts/emulator/beam/erl_driver.h @@ -135,8 +135,8 @@ typedef struct { #define DO_WRITE ERL_DRV_WRITE #define ERL_DRV_EXTENDED_MARKER (0xfeeeeeed) -#define ERL_DRV_EXTENDED_MAJOR_VERSION 1 -#define ERL_DRV_EXTENDED_MINOR_VERSION 5 +#define ERL_DRV_EXTENDED_MAJOR_VERSION 2 +#define ERL_DRV_EXTENDED_MINOR_VERSION 0 /* * The emulator will refuse to load a driver with different major diff --git a/erts/emulator/beam/io.c b/erts/emulator/beam/io.c index f5bca26586..1749cac66c 100644 --- a/erts/emulator/beam/io.c +++ b/erts/emulator/beam/io.c @@ -4860,7 +4860,9 @@ init_driver(erts_driver_t *drv, ErlDrvEntry *de, DE_Handle *handle) drv->process_exit = de->process_exit; else drv->process_exit = NULL; - if (de->minor_version >= 3/*R13A*/ && de->stop_select) + if ((de->major_version >= 2 + || (de->major_version == 1 && de->minor_version >= 3)/*R13A*/) + && de->stop_select) drv->stop_select = de->stop_select; else drv->stop_select = no_stop_select_callback; |