> value mlbdd_alloc_manager(MANAGER m) {
> CAMLparam0();
> CAMLlocal1 (result);
> bdd_overflow_closure(m, mlbdd_overflow, NULL);
> result = alloc_final(Size_ml_manager, mlbdd_free_manager, 0, 1);
> Manager_store_pointer(result, (value)m);
> PRINT_DEBUG("Alloc manager");
> CAMLreturn result;
>}
I think you need to protect m with
CAMLparam1(m);
otherwise in the allocation alloc_final, the garbage collector can be
called and the address to m change.
I hope this help.
Later, Juan.
-- In theory, practice and theory are the same, but in practice they are different -- Larry McVoy
This archive was generated by hypermail 2b29 : Mon Feb 21 2000 - 18:08:17 MET