
30 Nov
2014
30 Nov
'14
8:42 a.m.
On 2014-11-29 at 17:05:58 +0100, Oleksandr Petrov wrote:
There is a proposal [1] (with implemented revision) to implement zero-initialising versions of malloc{,Bytes,Array,Array0}
- Add calloc and callocBytes to Foreign.Marshal.Alloc. - Add callocArray and callocArray0 to Foreign.Marshal.Array.
The benefit is that you can allocate required amount of memory and be certain that it will be cleared (set with zeroes) before you use it.
+1 (Fwiw, it's not only a convenient combined operation but it also has potentially less overhead by requiring only a single FFI-call to calloc(3), instead of having to FFI-call twice into libc when doing malloc(3)+memset(3))