Hmm, woulden't makeing this work:
send( 5, read( 4, NULL, 100), 100, 0);
be easyer, better than thousands of new syscalls too (ok NULL is a bad
value, but I don't know what to but). The kernel would have to recognise
it's being passed a syscall as an argument, and do them both. It would
have to be decided wether only one level of syscall's is allowed, or
multiple. eg wether:
send( 5, read( open( "/whatever", O_RDONLY), NULL, lenfile( "/whatever")), lenfile( "/whatever"), 0);
works or not. It may be longer, but if it ment that we'd only need one
switch to kernel space .... Ofcourse, if one one part failed, it all
would. Returning error modes could be a problem, but then we would only
need to say which part failed, with the approprate errno. I know, bloat,
but it's not as much as zillions of new syscalls, and if the speedup
avalable warents it ....
> -- mingo
>
Bryn
-- PGP key pass phrase forgotten, \ Overload -- core meltdown sequence again :( | initiated. / This space is intentionally left | blank, apart from this text ;-) \____________________________________