!C99Shell v. 1.0 pre-release build #13!

Software: Apache/2.0.54 (Unix) mod_perl/1.99_09 Perl/v5.8.0 mod_ssl/2.0.54 OpenSSL/0.9.7l DAV/2 FrontPage/5.0.2.2635 PHP/4.4.0 mod_gzip/2.0.26.1a 

uname -a: Linux snow.he.net 4.4.276-v2-mono-1 #1 SMP Wed Jul 21 11:21:17 PDT 2021 i686 

uid=99(nobody) gid=98(nobody) groups=98(nobody) 

Safe-mode: OFF (not secure)

/usr/src/linux-2.4.18-xfs-1.1/include/asm-sh/   drwxr-xr-x
Free 318.37 GB of 458.09 GB (69.5%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     semaphore-helper.h (2.1 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#ifndef __ASM_SH_SEMAPHORE_HELPER_H
#define __ASM_SH_SEMAPHORE_HELPER_H

/*
 * SMP- and interrupt-safe semaphores helper functions.
 *
 * (C) Copyright 1996 Linus Torvalds
 * (C) Copyright 1999 Andrea Arcangeli
 */

/*
 * These two _must_ execute atomically wrt each other.
 *
 * This is trivially done with load_locked/store_cond,
 * which we have.  Let the rest of the losers suck eggs.
 */
static __inline__ void wake_one_more(struct semaphore * sem)
{
    atomic_inc((atomic_t *)&sem->sleepers);
}

static __inline__ int waking_non_zero(struct semaphore *sem)
{
    unsigned long flags;
    int ret = 0;

    spin_lock_irqsave(&semaphore_wake_lock, flags);
    if (sem->sleepers > 0) {
        sem->sleepers--;
        ret = 1;
    }
    spin_unlock_irqrestore(&semaphore_wake_lock, flags);
    return ret;
}

/*
 * waking_non_zero_interruptible:
 *    1    got the lock
 *    0    go to sleep
 *    -EINTR    interrupted
 *
 * We must undo the sem->count down_interruptible() increment while we are
 * protected by the spinlock in order to make atomic this atomic_inc() with the
 * atomic_read() in wake_one_more(), otherwise we can race. -arca
 */
static __inline__ int waking_non_zero_interruptible(struct semaphore *sem,
                        struct task_struct *tsk)
{
    unsigned long flags;
    int ret = 0;

    spin_lock_irqsave(&semaphore_wake_lock, flags);
    if (sem->sleepers > 0) {
        sem->sleepers--;
        ret = 1;
    } else if (signal_pending(tsk)) {
        atomic_inc(&sem->count);
        ret = -EINTR;
    }
    spin_unlock_irqrestore(&semaphore_wake_lock, flags);
    return ret;
}

/*
 * waking_non_zero_trylock:
 *    1    failed to lock
 *    0    got the lock
 *
 * We must undo the sem->count down_trylock() increment while we are
 * protected by the spinlock in order to make atomic this atomic_inc() with the
 * atomic_read() in wake_one_more(), otherwise we can race. -arca
 */
static __inline__ int waking_non_zero_trylock(struct semaphore *sem)
{
    unsigned long flags;
    int ret = 1;

    spin_lock_irqsave(&semaphore_wake_lock, flags);
    if (sem->sleepers <= 0)
        atomic_inc(&sem->count);
    else {
        sem->sleepers--;
        ret = 0;
    }
    spin_unlock_irqrestore(&semaphore_wake_lock, flags);
    return ret;
}

#endif /* __ASM_SH_SEMAPHORE_HELPER_H */

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0197 ]--