aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/nifs/common/prim_file_nif.h
diff options
context:
space:
mode:
authorJohn Högberg <[email protected]>2018-11-16 09:52:39 +0100
committerJohn Högberg <[email protected]>2018-11-16 09:52:39 +0100
commit200c2718e16c9186f3b4cdccaf989a31946a3f20 (patch)
treeca57a19b37349a6d5aa742c38bf5d87147340b0c /erts/emulator/nifs/common/prim_file_nif.h
parentcf8aae2646bc0c200d44577ca2942d3b53bd30e9 (diff)
parent7c902ed60b759c30aabfecde52baa2d12b8885bd (diff)
downloadotp-200c2718e16c9186f3b4cdccaf989a31946a3f20.tar.gz
otp-200c2718e16c9186f3b4cdccaf989a31946a3f20.tar.bz2
otp-200c2718e16c9186f3b4cdccaf989a31946a3f20.zip
Merge branch 'john/erts/defer-orphan-file-close/OTP-15421/ERIERL-261' into maint
* john/erts/defer-orphan-file-close/OTP-15421/ERIERL-261: Fix broken assertion on monitor release Avoid closing files in gc/monitor callbacks
Diffstat (limited to 'erts/emulator/nifs/common/prim_file_nif.h')
-rw-r--r--erts/emulator/nifs/common/prim_file_nif.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/erts/emulator/nifs/common/prim_file_nif.h b/erts/emulator/nifs/common/prim_file_nif.h
index 099c06c48c..b2e30c59dd 100644
--- a/erts/emulator/nifs/common/prim_file_nif.h
+++ b/erts/emulator/nifs/common/prim_file_nif.h
@@ -159,8 +159,11 @@ posix_errno_t efile_open(const efile_path_t *path, enum efile_modes_t modes,
ErlNifResourceType *nif_type, efile_data_t **d);
/** @brief Closes a file. The file must have entered the CLOSED state prior to
- * calling this to prevent double close. */
-int efile_close(efile_data_t *d);
+ * calling this to prevent double close.
+ *
+ * Note that the file is completely invalid after this point, so the error code
+ * is provided in \c error rather than d->posix_errno. */
+int efile_close(efile_data_t *d, posix_errno_t *error);
/* **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** */