Re: free-foreign-object vs. free Issues
Kevin Rosenberg <kevin-HJRc7zDS/[email protected]> Wed, 1 Sep 2004 09:32:15 -0600
| Newsgroups | gmane.lisp.uffi.devel |
|---|---|
| Message-ID | <[email protected]> |
Martin Ginkel wrote: > In the doc of uffi this case is described: > http://uffi.b9.com/manual/strings.html Yes, it is. > I tried the free-foreign-object on the string, and it worked fine in > CMUCL. But in Allegro (6.2-linux) it apparently doesn't free anything, > but also does not throw an error. > The solution was to use the "free" from libc after converting the > string. You are correct. Reding the AllegroCL 7.0beta documentation, memory allocated with C's malloc should be freed with AllegroCL's ff:free rather than ff:free-fobject. > In my opinion the model behind this could be: > If you allocate a foreign object in Lisp and give it to C, you should > free this with free-foreign-object. At least in Allegro this seems to > work in a different heap space. But if C has allocated something, you > should free with libc::free. > Are there Issues with using libc directly in other Platforms? I don't think there are any issues with using C's free on other platforms. But, as usual, it's important to test. I'll update the documentation about freeing memory allocated by C. -- Kevin Rosenberg kevin-HJRc7zDS/[email protected]