Patch title: Release 94 bulk changes
Abstract:
File: /pliant/linux/schedule/futex.pli
Key:
    Removed line
    Added line
   
module "/pliant/language/unsafe.pli"
module "/pliant/language/os.pli"


constant os_FUTEX_WAIT 0
constant os_FUTEX_WAKE 1

function kernel_futex_wait uaddr op val timeout -> err
  arg_rw uInt uaddr ; arg uInt op val ; arg_rw os_timespec timeout ; arg Int err
  kernel_function 240

function os_futex_wait variable value -> err
  arg_rw uInt variable ; arg uInt value ; arg Int err
  err := kernel_futex_wait variable os_FUTEX_WAIT value (null map os_timespec)


function kernel_futex_wake uaddr op val timeout -> err
  arg_rw uInt uaddr ; arg uInt op ; arg Int val ; arg_rw os_timespec timeout ; arg Int err
  kernel_function 240

function os_futex_wake variable count -> err
  arg_rw uInt variable ; arg Int count err
  err := kernel_futex_wake variable os_FUTEX_WAKE count (null map os_timespec)


function fun_has_futex -> c
  arg CBool c
  var uInt v := 0
  c := (os_futex_wait v 1)=(-os_EAGAIN)

constant os_has_futex fun_has_futex

export os_has_futex os_futex_wait os_futex_wake