On 18.12.2017 03:24, Michael McConville wrote: > Hi guys. > > Hopefully this doesn't sound presumptuous coming from an outsider, but I think > you could benefit from removing some or all of your wrappers for libc > functions > like malloc. Modern platforms offer many tools for tracing and debugging > allocations, which seems to be the motivation for the wrappers. The semantics > of these wrappers seem to be identical to the POSIX semantics, so replacement > would be easy.
well there are not only POSIX systems out there: on Windows, it's possible to have multiple different malloc/free implementations and therefore heaps in the same process, and care needs to be taken to ensure that the objects allocated by a particular malloc() are passed to the corresponding free() and not to a different one. one way to do that is to export free_* wrapper functions from your DLL so the client never calls free directly; all the allocation and deallocation calls of types provided in the library are done in the DLL itself through wrapper functions, which are guaranteed to work on the same heap. _______________________________________________ xml mailing list, project page http://xmlsoft.org/ xml@gnome.org https://mail.gnome.org/mailman/listinfo/xml