It's a workaround, yes.. but it's frequently necessary even within Pd where "open" wasn't really the desired function but one still needed to travers the search path to find a readable file. There ought to be a better way but I don't know what it is. An example is binbuf_read_via_canvas().
On another note, open_via_path isn't threadsafe - if one thread is changing the path it's unsafe for another to chase it. This happend in sfread~/ sfwrite~ and I'm still trying to think of a good fix.
cheers Miller
On Tue, Jul 03, 2012 at 03:49:00PM +0200, IOhannes m zmoelnig wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 2012-07-03 15:40, IOhannes m zmoelnig wrote:
Pd-0.43 introduced sys_close() in order to have the same CRT implementation open and close the file.
prior version of Pd lack this function and therefore there a number of file-handle leakage bugs were reported.
sp the workaround is actually to use open_via_path() to get the full patch of the file you want to open, sys_close() the filehandle and then use the full-path to open the file yourself.
fgmasdr IOhannes -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAk/y+EkACgkQkX2Xpv6ydvTkCwCfRvO9WVlNjg2/AZ0unQgs6qYs xLkAnAwTrGl7B/uqClNFrJP0o1VDzEpc =oSId -----END PGP SIGNATURE-----
Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev