DragonFly BSD
DragonFly kernel List (threaded) for 2003-08
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: More syscall messaging commits, and some testing code as well.


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 13 Aug 2003 19:05:40 -0700 (PDT)

    The interruptability of a normal system call basically translates to the
    ability to abort a messaging system call.

    Normally a messaging system call will not be aborted by a signal,
    after all you might have hundreds of messaging system calls in progress
    and you obviously don't want them all to abort every time you take a
    signal.  But there will be cases where a program *will* want to abort
    a system call after taking a signal.  For example, a program might want
    to abort a sleep() that is in progress when it gets SIGINT.  The 
    difference between the traditional syscall mechanism and our new 
    messaging mechanism is that in the traditional mechanism the kernel
    has no choice but to abort the system call in order to be able to
    trampoline the signal in user land, and in the messaging mechanism
    the kernel can wash its hands of the whole affair and leave it up to
    the user program to decide whether to abort any of the in-progress
    syscalls.

						-Matt




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