OK, let me write an test a patch. I'm starting right now...
On Mon, Feb 2, 2009 at 6:11 PM, Dag Sverre Seljebotn <[email protected]> wrote: > Lisandro Dalcin wrote: >> Dag, I know that the original idea of the dlopen() with RTLD_GLOBAL >> was mine, but you know... I'm so idiot sometimes... This is going to >> be a REAL pain to make it work, specially if you want to make this >> easily portable to the many platforms out there.... For example, Do >> the current implementation work on Windows? > > I have no idea. I know next to nothing about Windows development (which > goes beyond pre-2000-era Delphi GUI programming). And it would be a real > pain for me to find or set up a Windows workstation with enough tools to > find out. > >> Would you agree to completelly change the way the refnany helper >> routines are imported?. I'm thinking on a ad-hoc way of doing that, >> similar but simpler to the way Cython extension modules can export API >> functions. >> >> The only requisite would be that the 'refnanny.so' extension module >> can be imported. Then, when you build Cython extensions with >> CYTHON_REFNANNY defined, some special code in the module init function >> imports the 'refnanny' module and get the pointer to a struct having >> pointers to the various routines... No more need to dlopen() or even >> import refnanny in order to enable it.... > > This sounds like the way Cython implements "api", one could build on > that. (But writing something dedicated in C might be just as well, > because all the other things can potentially be subject to refnannying). > > The reasons I've done what I've done is mostly to get something as quick > as possible. If what I've done can't work in Windows, I'd be happy to > accept a patch along the lines you suggest, but it is pretty far down on > my own list. (It would mean an extra pointer lookup per refcount call I > think, but speed is not an issue here...) > > An alternative is to write runtests.py to disable the refnanny on > Windows. As long as it is run on Unix prior to a Cython release it > should work. > > > -- > Dag Sverre > _______________________________________________ > Cython-dev mailing list > [email protected] > http://codespeak.net/mailman/listinfo/cython-dev > -- Lisandro Dalcín --------------- Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC) Instituto de Desarrollo Tecnológico para la Industria Química (INTEC) Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET) PTLC - Güemes 3450, (3000) Santa Fe, Argentina Tel/Fax: +54-(0)342-451.1594 _______________________________________________ Cython-dev mailing list [email protected] http://codespeak.net/mailman/listinfo/cython-dev
