From: Sam S. <sd...@gn...> - 2003-08-05 17:19:32
|
> * In message <9F8582E37B2EE5498E76392AEDDCD3FE05F4BA26@G8PQD.blf01.telekom.de> > * On the subject of "congrats! -- extended dynamic object loading from AMIGAOS to WIN3 2_NATIVE & POSIX" > * Sent on Tue, 5 Aug 2003 16:20:21 +0200 > * Honorable "Hoehle, Joerg-Cyril" <Joe...@t-...> writes: > > Another case of worse is better! :) I don't see why my approach is `worse'. > a) being able to restart foreign functions from previous images, and I tested it and it works. > That'll certainly not work on MS-Windows or UNIX!! > There's no guarantee I know of about the addresses returned by > dlsym(), and even if simple tests (a la "let's just start it twice and > see if the values differ") seem to indicate otherwise, I'll construct > a situation where it'll crash (by using a different ordering of dlopen > or different linking libraries, or using a custom DL_PRELOAD etc.). > I don't know about MS-Windows, but it's not likely to work either. I see. options: 1. keep library name in the Ffunction & Fvariable structs and call dlsym() lazily - when the object is accessed. 2. keep the list of objects loaded from the library in the O(foreign_libraries) alist and call dlsym() for each of them when the library is updated. opinions? > Also, I haven't seen just from looking at your foreign1.diffs whether > compiling a file with dynamic library call definitions still generates > a .c file as a (then superfluous) side effect. fixed that now. thanks. you just don't call NOTE-C-FUN and NOTE-C-VAR for dynamic objects. > I didn't even know then that Sam had ported my Amiga code! I did not look at your Amiga code. -- Sam Steingold (http://www.podval.org/~sds) running w2k <http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/> <http://www.mideasttruth.com/> <http://www.palestine-central.com/links.html> Why use Windows, when there are Doors? |