aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_nif.h
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2016-12-08 19:26:14 +0100
committerSverker Eriksson <[email protected]>2016-12-19 19:18:51 +0100
commit387ff8e3347d21e9ca5ad3d8c3a694bc79d38bca (patch)
tree65b38fbe74b5b5e83d0244073f88e56ffdc339d0 /erts/emulator/beam/erl_nif.h
parent9ffe2d285943b661317cee2b00d779a2e75a3374 (diff)
downloadotp-387ff8e3347d21e9ca5ad3d8c3a694bc79d38bca.tar.gz
otp-387ff8e3347d21e9ca5ad3d8c3a694bc79d38bca.tar.bz2
otp-387ff8e3347d21e9ca5ad3d8c3a694bc79d38bca.zip
Add stop arguments: fd and is_direct_call
Diffstat (limited to 'erts/emulator/beam/erl_nif.h')
-rw-r--r--erts/emulator/beam/erl_nif.h16
1 files changed, 8 insertions, 8 deletions
diff --git a/erts/emulator/beam/erl_nif.h b/erts/emulator/beam/erl_nif.h
index bf0f7b1f15..78e0fa1864 100644
--- a/erts/emulator/beam/erl_nif.h
+++ b/erts/emulator/beam/erl_nif.h
@@ -138,18 +138,18 @@ typedef struct
void* ref_bin;
}ErlNifBinary;
-typedef struct {
- void (*dtor)(ErlNifEnv* env, void* obj);
- void (*stop)(ErlNifEnv* env, void* obj); /* at ERL_NIF_SELECT_STOP event */
-} ErlNifResourceTypeInit;
+//#ifndef ERL_SYS_DRV
+typedef int ErlNifEvent; /* An event to be selected on. */
+//#endif
typedef struct enif_resource_type_t ErlNifResourceType;
typedef void ErlNifResourceDtor(ErlNifEnv*, void*);
-typedef void ErlNifResourceStop(ErlNifEnv*, void*);
+typedef void ErlNifResourceStop(ErlNifEnv*, void*, ErlNifEvent, int is_direct_call);
-//#ifndef ERL_SYS_DRV
-typedef int ErlNifEvent; /* An event to be selected on. */
-//#endif
+typedef struct {
+ ErlNifResourceDtor* dtor;
+ ErlNifResourceStop* stop; /* at ERL_NIF_SELECT_STOP event */
+} ErlNifResourceTypeInit;
typedef enum
{