tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Rumpification (was Re: CVS commit: src/usr.sbin/envstat)



On Tue Dec 14 2010 at 17:18:31 -0500, Christos Zoulas wrote:
> On Dec 14, 11:46pm, pooka%cs.hut.fi@localhost (Antti Kantee) wrote:
> -- Subject: Re: Rumpification (was Re: CVS commit: src/usr.sbin/envstat)
> 
> | > Rump can because it can look at the arguments.
> | 
> | I used that as the very first example in this thread.  How can it possibly
> | tell apart two calls to socket(PF_INET, SOCK_DGRAM, 0) where one needs
> | to be handled by the rump kernel and another by the host?
> 
> I don't see why one would need to handle identical calls differently, but
> it can check the context which is has been called. I.e. if it is the
> nth call with such arguments, or if a variable of the program has been
> set to someting, or it can check the call stack. There are various ways.

Yes, I agree the program should set a variable.  In fact, it does
that now.  The variable is called "program counter".

I'm not sure how the nth call approach would work with loops,
conditionals, etc., or if you really expect me to reanalyze and recompile
a shim library every time some most likely unrelated change causes a
variation in the callstack.

-- 
älä karot toivorikkauttas, kyl rätei ja lumpui piisaa


Home | Main Index | Thread Index | Old Index