Comments (8)
CString::into_raw transfers ownership, so it is safe in that sense.
The way it's done currently does cause the string to leak however, so your suggestion is probably a better idea here
from rustler.
OK, rev db0cfeb is the fix for this.
from rustler.
@hansihe Is this completely leak free now? If so I'd like to retract erlang/otp#1294 which has technical problems that I did not foresee. Upcoming Rust macro features in the next year or 2 should resolve the Rust-side limitations I experienced.
from rustler.
@goertzenator No, it is still not completely leak free. The leak is not very large however, and it only happens on a NIF unload, so we are probably fine either way. You decide if you want to retract the PR.
from rustler.
@hansihe Where do we still leak memory?
from rustler.
@jorendorff Isn't this leaking memory? There is nothing dropping that.
from rustler.
entry
gets moved into NIF_ENTRY
which is static. I've looked closely at this file and I'm not seeing leaks.
from rustler.
@goertzenator Ah, I forgot how static variables worked for a second. There is indeed no leaks.
from rustler.
Related Issues (20)
- how to custom build target arch?
- can you support cargo-zigbuild? HOT 2
- `nif` macro fails with macro arguments HOT 2
- New Binary from Vec or Slice
- Support for enif_monitor_process HOT 1
- resource with lifetime
- Expose `enif_is_process_alive` HOT 4
- rustler errors on OTP26 HOT 1
- How to conveniently work with binaries as vectors of bytes?
- Why does Term::map_from_pairs return a NifResult?
- Support for fully custom `:load_from` for escripts HOT 8
- This OTP release uses the unsupported Erlang NIF version "2.17" HOT 1
- Test NifStruct derived traits
- Running `dialiyzer` with `rustler` 0.30.0 results in "The pattern can never match the type"" HOT 4
- Import structs from a library
- Can't `mix compile` with path dependency in `Cargo.toml` HOT 2
- Obscure error messages HOT 3
- Would you mind to release `rustler-0.30.1` which includes #570 ? HOT 1
- [Feature request] Add support for i128 and u128 HOT 6
- Unsupported Erlang version error with OTP 26 and features = nif_version_2_17 in Cargo.toml HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rustler.