X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Futils%2Fmono-mmap.c;h=087259fd15129cebee0d23876a50a24404706d2b;hb=1e726ce7a38a92860acab28f4427813d2ba14c13;hp=412a23b3fff33713e20a6b18489384fc19d1a32b;hpb=28c53a39a4630ecb719a94ee6dd6801633799a89;p=mono.git diff --git a/mono/utils/mono-mmap.c b/mono/utils/mono-mmap.c index 412a23b3fff..087259fd151 100644 --- a/mono/utils/mono-mmap.c +++ b/mono/utils/mono-mmap.c @@ -405,6 +405,20 @@ mono_file_unmap (void *addr, void *handle) * * Returns: 0 on success. */ +#if defined(__native_client__) +int +mono_mprotect (void *addr, size_t length, int flags) +{ + int prot = prot_from_flags (flags); + void *new_addr; + + if (flags & MONO_MMAP_DISCARD) memset (addr, 0, length); + + new_addr = mmap(addr, length, prot, MAP_PRIVATE | MAP_FIXED | MAP_ANONYMOUS, -1, 0); + if (new_addr == addr) return 0; + return -1; +} +#else int mono_mprotect (void *addr, size_t length, int flags) { @@ -427,6 +441,7 @@ mono_mprotect (void *addr, size_t length, int flags) } return mprotect (addr, length, prot); } +#endif // __native_client__ #else