* Indan Zupancic <[EMAIL PROTECTED]> wrote:

> What I propose:
> 
>       atom1 returns 0, has SYSLET_STOP_ON_ZERO|SYSLET_SKIP_NEXT_ON_STOP set
>       atom2
>       atom3
> 
> (You've already used my SYSLET_SKIP_NEXT_ON_STOP instead of 
> SYSLET_SKIP_TO_NEXT_ON_STOP. ;-)

doh. Yes. I noticed and implemented this yesterday and it's in the 
submitted syslet code - but i guess i was too tired to remember my own 
code - so i added the wrong comments :-/ If you look at the sample 
user-space code:

        init_atom(req, &req->open_file, __NR_sys_open,
                  &req->filename_p, &O_RDONLY_var, NULL, NULL, NULL, NULL,
                  &req->fd, SYSLET_STOP_ON_NEGATIVE, &req->read_file);

the 'STOP_ON_NEGATIVE' acts on that particular atom.

this indeed cleaned up things quite a bit and made the user-space syslet 
code alot more straightforward. A return value can still be recovered 
and examined (with a different condition and a different jump target) 
arbitrary number of times via ret_ptr and via sys_umem_add().

        Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to