diff options
author | Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> | 2017-04-29 23:06:22 +0300 |
---|---|---|
committer | Refael Ackermann <refack@gmail.com> | 2017-09-09 00:14:03 +0300 |
commit | 5f223759229a112af41508c470d683152523c6e3 (patch) | |
tree | b4788ac6a406a36d0f0649f48beda1993682f960 /doc/api/os.md | |
parent | aa76ce943b618c3b6d5b86c89f69aa4817ca783d (diff) |
src: add support to pass flags to dlopen
* add constants for dlopen flags, which are needed
for dlopen's flag passing.
* introduce an optional parameter for process.dlopen(),
allowing to pass dlopen flags (using values from os.constants.dlopen).
If no flags are passed, the default behavior is to load the library
with RTLD_LAZY (perform lazy binding) and RTLD_LOCAL (symbols are
available only locally).
PR-URL: https://github.com/nodejs/node/pull/12794
Refs: https://github.com/nodejs/node/pull/4105
Refs: https://github.com/libuv/libuv/pull/1331
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Diffstat (limited to 'doc/api/os.md')
-rw-r--r-- | doc/api/os.md | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/doc/api/os.md b/doc/api/os.md index 28eff6a13f0..1bef5c55016 100644 --- a/doc/api/os.md +++ b/doc/api/os.md @@ -1170,6 +1170,43 @@ The following error codes are specific to the Windows operating system: </tr> </table> +### dlopen Constants + +If available on the operating system, the following constants +are exported in `os.constants.dlopen`. See dlopen(3) for detailed +information. + +<table> + <tr> + <th>Constant</th> + <th>Description</th> + </tr> + <tr> + <td><code>RTLD_LAZY</code></td> + <td>Perform lazy binding. Node.js sets this flag by default.</td> + </tr> + <tr> + <td><code>RTLD_NOW</code></td> + <td>Resolve all undefined symbols in the library before dlopen(3) + returns.</td> + </tr> + <tr> + <td><code>RTLD_GLOBAL</code></td> + <td>Symbols defined by the library will be made available for symbol + resolution of subsequently loaded libraries.</td> + </tr> + <tr> + <td><code>RTLD_LOCAL</code></td> + <td>The converse of RTLD_GLOBAL. This is the default behavior if neither + flag is specified.</td> + </tr> + <tr> + <td><code>RTLD_DEEPBIND</code></td> + <td>Make a self-contained library use its own symbols in preference to + symbols from previously loaded libraries.</td> + </tr> +</table> + ### libuv Constants <table> |