Back to index

glibc  2.9
Functions
pthread_spin_lock.c File Reference
#include "pthreadP.h"

Go to the source code of this file.

Functions

int pthread_spin_lock (pthread_spinlock_t *lock)

Function Documentation

int pthread_spin_lock ( pthread_spinlock_t *  lock)

Definition at line 23 of file pthread_spin_lock.c.

{
  int *p = (int *) lock;

  while (__builtin_expect (__sync_val_compare_and_swap (p, 0, 1), 0))
    {
      /* Spin without using the atomic instruction.  */
      do
       __asm __volatile ("hint @pause" : : : "memory");
      while (*p);
    }
  return 0;
}