- Global shm_arena_delete (shm_arena_t arena)
- We should be freeing the memory for the automatic arena locks for all threads here but there is no way to do that for all the threads. They will at least be freed for each thread as they thread exit, so we do not call pthread_key_delete(arena->rwlock_key).
- Global shm_arena_rwlock_reset (shm_arena_t arena)
- This is not implemented yet. Should fix a broken arena read-write lock.
- Global shm_get (shm_arena_t arena, size_t size, const char *name, int flags)
- We could make a fancier segment name generator for the case when name is not set.
- Global shm_name (shm_arena_t arena, const void *ptr, char *name, size_t name_size)
- check that this ptr is in one of the shared memory regions.
- Global shm_rwlock_reset (shm_arena_t arena, const void *ptr)
- This is not implemented yet. Should fix a broken arena read-write lock.
- Global shm_size (shm_arena_t arena, const void *ptr)
- check that this ptr is in one of the shared memory regions.
- Global smq_get (shm_arena_t arena, size_t element_size, int q_length, const char *name, int flags)
- Shared Multi-Queue blocking write functionality is not written yet, but Shared Multi-Queue blocking read is working fine and is preferred to using usleep(3) or sleep(3). See blocking read example code smq_blocking_read.c.
- Global smq_wrlock (smq_t q, int num)
- For now use
num
of zero, blocking Shared Multi-Queue write is not implemented yet.
Shared Memory Arena version RC-0.0.25