2012/2/28 Daniel-Constantin Mierla <miconda(a)gmail.com>om>:
the pointer is not set to NULL, it never was, no
matter the version and
name, since ser was started. Not even with system malloc, free does not set
it to null. One reason is that the pointer is given as parameter by value,
so the variable holding it cannot be changed. Well, in K, shm_free() is a
macro (define) and can be coded to set it to null, but it is a risk if the
parameter is an expression (e.g., computing the pointer from: a start of a
structure + offset).
To be able and safe to set it to null in a function, the parameter must be a
pointer to the pointer, like:
static int *number;
number = shm_malloc(sizeof(int));
my_shm_free(&number);
Thanks a lot. Then there was a bug I will fix right now. Indeed
setting it to NULL does fix the problem.
--
Iñaki Baz Castillo
<ibc(a)aliax.net>