aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_driver.h
diff options
context:
space:
mode:
authorErlang/OTP <[email protected]>2015-01-30 16:56:50 +0100
committerErlang/OTP <[email protected]>2015-01-30 16:56:50 +0100
commit30e91c934635836ebe126b3444e73eb50b506ec0 (patch)
tree96397a5eff1315f259d896f321c41be63c3e4491 /erts/emulator/beam/erl_driver.h
parent7b8af304c9e45540013eefc5b17ae03f8c36bc85 (diff)
parent86e4d8ead48501f00466d685c157eaa0921d96a8 (diff)
downloadotp-30e91c934635836ebe126b3444e73eb50b506ec0.tar.gz
otp-30e91c934635836ebe126b3444e73eb50b506ec0.tar.bz2
otp-30e91c934635836ebe126b3444e73eb50b506ec0.zip
Merge branch 'egil/fix-crashdump-epmd/OTP-12447' into maint-17
* egil/fix-crashdump-epmd/OTP-12447: erts: Check driver version before assigning callback erts: Don't lookup invalid port for crashdump handling erts: Reserve a file descriptor for the crashdump file erts: Use emergency close to close epmd erts: Extend driver interface with emergency_close
Diffstat (limited to 'erts/emulator/beam/erl_driver.h')
-rw-r--r--erts/emulator/beam/erl_driver.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_driver.h b/erts/emulator/beam/erl_driver.h
index f9938fc66c..e498ac70ec 100644
--- a/erts/emulator/beam/erl_driver.h
+++ b/erts/emulator/beam/erl_driver.h
@@ -133,7 +133,7 @@ typedef struct {
#define ERL_DRV_EXTENDED_MARKER (0xfeeeeeed)
#define ERL_DRV_EXTENDED_MAJOR_VERSION 3
-#define ERL_DRV_EXTENDED_MINOR_VERSION 1
+#define ERL_DRV_EXTENDED_MINOR_VERSION 2
/*
* The emulator will refuse to load a driver with a major version
@@ -361,6 +361,9 @@ typedef struct erl_drv_entry {
/* Called on behalf of driver_select when
it is safe to release 'event'. A typical
unix driver would call close(event) */
+ void (*emergency_close)(ErlDrvData drv_data);
+ /* called when the port is closed abruptly.
+ specifically when erl_crash_dump is called. */
/* When adding entries here, dont forget to pad in obsolete/driver.h */
} ErlDrvEntry;