[newlib-cygwin] Implement process-shared locks support

Sebastian Huber sh@sourceware.org
Fri Aug 24 13:09:00 GMT 2018


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=c3df6d5155f0ffc3337991fbc1796952edf2cd82

commit c3df6d5155f0ffc3337991fbc1796952edf2cd82
Author: kib <kib@FreeBSD.org>
Date:   Sun Feb 28 17:52:33 2016 +0000

    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

Diff:
---
 newlib/libc/sys/rtems/include/sys/mman.h | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/newlib/libc/sys/rtems/include/sys/mman.h b/newlib/libc/sys/rtems/include/sys/mman.h
index 19d992e..1fce960 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



More information about the Newlib-cvs mailing list