[PD-dev] open_via_path / close file - WIndows CRT problems

Miller Puckette msp at ucsd.edu
Tue Jul 3 18:54:11 CEST 2012


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 at iem.at
> http://lists.puredata.info/listinfo/pd-dev




More information about the Pd-dev mailing list