Incorrect?  How so?  Show me how, when manually directed, my statement is
incorrect.

pseudo-code:

int main( int, char ** )
{
...
// Figure out my identity (run as ls, ifplugd, ntpd, etc.)
...
if( my_identity->not_initialized )
{
    myptr = dlopen( mylibname, myflags );
    sym = dlsym( h, init_fun );
    init_fun( wee );
}
...
// perform operations for my identity
...
return retval;
}

If I misunderstand how it work, then please enlighten me as to how this
dlopen() function is magically when the program it's trying to emulate has
already been initialized.  Feel free to learn from the above example, since
I have the feeling that's what will be needed.  In fact, I even took the
time to find you a nice little article on it:
http://www.ibm.com/developerworks/library/l-dynamic-libraries/


Mike Dean



On Fri, Mar 21, 2014 at 8:54 AM, Denys Vlasenko <vda.li...@googlemail.com>wrote:

> On Thu, Mar 20, 2014 at 8:15 PM, Mike Dean <md...@emacinc.com> wrote:
> > The key word is, "can," as in your statement, "can be read back in
> again."
> > If it's designed to only ever be loaded the first time it's executed
> after
> > boot, then there will be no reason to load it back in again when executed
> > after that first time.
>
> The above statement means that you have some incorrect ideas how
> Linux virtual memory works.
>
> > If there's no need for the code, it won't be read back in again.
>
> That's how it works already, and was working this way for decades.
> Pages in file-backed mappings are loaded on access, not when mapping
> is created. Later, if a loaded unmodified page is dropped due
> to memory pressure, it will be reloaded only if/when accessed again.
>
_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to