lkml.org 
[lkml]   [2008]   [May]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] Introduce down_nowait()
    Date
    I planned on removing the much-disliked down_trylock() (with its
    backwards return codes) in 2.6.27, but it's creating something of a
    logjam with other patches in -mm and linux-next.

    Andrew suggested introducing "down_nowait" as a wrapper now, to make
    the transition easier.

    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Christoph Hellwig <hch@infradead.org>
    Cc: Matthew Wilcox <matthew@wil.cx>
    Cc: Stephen Rothwell <sfr@canb.auug.org.au>

    diff -r 92664ae4130b include/linux/semaphore.h
    --- a/include/linux/semaphore.h Wed May 21 14:54:40 2008 +1000
    +++ b/include/linux/semaphore.h Wed May 21 15:07:31 2008 +1000
    @@ -48,4 +48,18 @@ extern int __must_check down_timeout(str
    extern int __must_check down_timeout(struct semaphore *sem, long jiffies);
    extern void up(struct semaphore *sem);

    +/**
    + * down_nowait - try to down a semaphore, but don't block
    + * @sem: the semaphore
    + *
    + * This is equivalent to down_trylock(), but has the same return codes as
    + * spin_trylock and mutex_trylock: 1 if semaphore acquired, 0 if not.
    + *
    + * down_trylock() with its confusing return codes will be deprecated
    + * soon. It will not be missed.
    + */
    +static inline int __must_check down_nowait(struct semaphore *sem)
    +{
    + return !down_trylock(sem);
    +}
    #endif /* __LINUX_SEMAPHORE_H */

    \
     
     \ /
      Last update: 2008-05-21 08:03    [W:0.021 / U:59.048 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site