summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2016-02-28 17:52:33 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-08-24 15:00:02 +0200
commitc3df6d5155f0ffc3337991fbc1796952edf2cd82 (patch)
tree4b961219897f5ffeb477a81ca12b02171cdc2935
parent7cfc736e8911c2ad1fbd9d212264c44bcda45fbd (diff)
downloadcygnal-c3df6d5155f0ffc3337991fbc1796952edf2cd82.tar.gz
cygnal-c3df6d5155f0ffc3337991fbc1796952edf2cd82.tar.bz2
cygnal-c3df6d5155f0ffc3337991fbc1796952edf2cd82.zip
Implement process-shared locks support
for libthr.so.3, without breaking the ABI. Special value is stored in the lock pointer to indicate shared lock, and offline page in the shared memory is allocated to store the actual lock. Reviewed by: vangyzen (previous version) Discussed with: deischen, emaste, jhb, rwatson, Martin Simmons <martin@lispworks.com> Tested by: pho Sponsored by: The FreeBSD Foundation
-rw-r--r--newlib/libc/sys/rtems/include/sys/mman.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/newlib/libc/sys/rtems/include/sys/mman.h b/newlib/libc/sys/rtems/include/sys/mman.h
index 19d992e83..1fce96074 100644
--- a/newlib/libc/sys/rtems/include/sys/mman.h
+++ b/newlib/libc/sys/rtems/include/sys/mman.h
@@ -233,6 +233,13 @@ struct shmfd {
int shm_map(struct file *fp, size_t size, off_t offset, void **memp);
int shm_unmap(struct file *fp, void *mem, size_t size);
+int shm_access(struct shmfd *shmfd, struct ucred *ucred, int flags);
+struct shmfd *shm_alloc(struct ucred *ucred, mode_t mode);
+struct shmfd *shm_hold(struct shmfd *shmfd);
+void shm_drop(struct shmfd *shmfd);
+int shm_dotruncate(struct shmfd *shmfd, off_t length);
+
+extern struct fileops shm_ops;
#else /* !_KERNEL */
__BEGIN_DECLS