|
From: | Juergen Sauermann |
Subject: | Re: [Bug-apl] Bug: GNU APL does not call start_input after a )LOAD |
Date: | Sat, 10 May 2014 15:02:22 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130330 Thunderbird/17.0.5 |
Hi Elias,
I believe this relates to an earlier discussion about removing of callbacks. Currently a library can decide how it wants to be handled by )LOAD (actually by )ERASE which is triggered by )LOAD): A. be dlcosed() (and then needs to clear/restore its callbacks) or B. remain loaded. The default is B as requested earlier (so that the callbacks remain intact). If you want A. instead then define a function close_fun() and make it return true when called. Define means that get_function_mux() returns a pointer to it. Now, if you go for A. then you should restore your callbacks in close_fun(). On the other hand, if you go for B. then you could be called twice and should prepare for that (a reference counter ++'ed in get_sig() and --'ed in close_fun()). Dito for the same library used under different names in the same WS, so namespaces would not help). dlopen() clains to take care of not being loaded twice, but the details are not very clear, eg. symbolic links to libs, copy of libs etc. /// Jürgen On 05/08/2014 03:28 PM, Elias Mårtenson wrote:
|
[Prev in Thread] | Current Thread | [Next in Thread] |