/pliant/language/stream/handle.pli
 
 1  module "ring.pli" 
 2   
 3  public 
 4   
 5  gvar Int stream_pending_handles := 0 
 6  gvar Int stream_maximum_handle := 0 
 7   
 8  function stream_lock_handle 
 9    atomic_add stream_pending_handles 1 
 10   
 11  function stream_unlock_handle h 
 12    arg Int h 
 13    stream_maximum_handle := max stream_maximum_handle h 
 14    atomic_add stream_pending_handles -1 
 15    # if os_api="linux" or os_api="posix" 
 16    #   os_fcntl h os_F_SETFD os_FD_CLOEXEC