提交 c486ea9c 编写于 作者: B Behdad Esfahbod

Bug 591511 – hb-blob.c does not compile using mingw on windows

Only call mprotect() when available.  For optimal performance, a win32
way to make memory writeable needs to be added.
上级 a5795845
......@@ -28,8 +28,12 @@
#include "hb-blob.h"
#ifdef HAVE_MPROTECT
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif /* HAVE_UNISTD_H */
#include <sys/mman.h>
#endif /* HAVE_MPROTECT */
struct _hb_blob_t {
hb_reference_count_t ref_count;
......@@ -240,6 +244,7 @@ hb_blob_try_writeable_inplace (hb_blob_t *blob)
hb_mutex_lock (blob->lock);
#ifdef HAVE_MPROTECT
if (blob->mode == HB_MEMORY_MODE_READONLY_MAY_MAKE_WRITEABLE) {
unsigned int pagesize, mask, length;
const char *addr;
......@@ -281,6 +286,9 @@ hb_blob_try_writeable_inplace (hb_blob_t *blob)
addr, addr+length, length);
#endif
}
#else /* !HAVE_MPROTECT */
#warning "No way to make readonly memory writeable. This is suboptimal."
#endif
done:
mode = blob->mode;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册