Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Fixed several underallocation issues that could trigger data corruption on `binary:replace`, `zlib:compress` and bsd socket recv code.
- Fixed a bug where `catch` would raise on regular atom results
- Fixed ESP32 socket driver holding the global socket-list lock across blocking TCP connects, leaking the port on connect failure, losing concurrent `accept` waiters, leaking `netbuf` on receive error paths, and a recycled-`netconn` race between socket close and the event handler
- Fixed a JIT crash (`EXC_BAD_ACCESS`/SIGBUS) on Apple Silicon

## [0.7.0-alpha.1] - 2026-04-06

Expand Down
6 changes: 6 additions & 0 deletions src/platforms/generic_unix/lib/jit_stream_mmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,13 @@ static term nif_jit_stream_mmap_new(Context *ctx, int argc, term argv[])

// Write the total mmap size into the header so sys_release_native_code
// can recover it (it reads *(size_t *)(entry_point - sizeof(size_t))).
#if HAVE_PTHREAD_JIT_WRITE_PROTECT_NP
pthread_jit_write_protect_np(0);
#endif
*((size_t *) addr) = total;
#if HAVE_PTHREAD_JIT_WRITE_PROTECT_NP
pthread_jit_write_protect_np(1);
#endif

// Return a resource object
struct JITStreamMMap *js = enif_alloc_resource(jit_stream_mmap_resource_type, sizeof(struct JITStreamMMap));
Expand Down
Loading