| 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 | |