X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=src%2Fcommon_stub.cpp;h=781d0794c2992b428c6061af43a69b5da47011bc;hb=refs%2Fheads%2Fmaster;hp=6f56d33f6190ba1b87b542222051a1b0a23386a5;hpb=ff13d22656fdbdffb2d909192bd17ba135606224;p=SXSI%2Fxpathcomp.git diff --git a/src/common_stub.cpp b/src/common_stub.cpp index 6f56d33..781d079 100644 --- a/src/common_stub.cpp +++ b/src/common_stub.cpp @@ -6,6 +6,8 @@ extern "C" { #include #include +#include + } using std::string; @@ -63,13 +65,13 @@ value alloc_custom_(char* name) if (it == type_map->end()) result = Val_unit; else - result = caml_alloc_custom(it->second.first, it->second.second, 1, 2); + result = caml_alloc_custom(it->second.first, it->second.second, 1, 1); CAMLreturn(result); } -extern "C" value sxsi_cpp_init(value unit) +ML_BINDING value sxsi_cpp_init(value unit) { struct rlimit rlim; init_exception(); @@ -81,11 +83,12 @@ extern "C" value sxsi_cpp_init(value unit) rlim.rlim_cur = RLIM_INFINITY; setrlimit(RLIMIT_STACK, &rlim); }; + // mallopt(M_MMAP_THRESHOLD, 0); return Val_unit; } -void sxsi_raise_msg(char * msg) +void sxsi_raise_msg(const char * msg) { if (cpp_exception == 0) init_error(); caml_raise_with_string(*cpp_exception, msg);