diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2001-01-11 12:33:12 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2001-01-11 12:33:12 +0000 |
commit | c4efddf601f496d3f4781f0af4c5ee3e7ecfc6bf (patch) | |
tree | ece55ba02bdf0441593d00d82363fd610b9dfb68 /winsup/cygwin/fhandler.h | |
parent | 37770e00090544a1cb648bf0959235cb2862021f (diff) | |
download | cygnal-c4efddf601f496d3f4781f0af4c5ee3e7ecfc6bf.tar.gz cygnal-c4efddf601f496d3f4781f0af4c5ee3e7ecfc6bf.tar.bz2 cygnal-c4efddf601f496d3f4781f0af4c5ee3e7ecfc6bf.zip |
* fhandler.h (fhandler_base): New method `fixup_mmap_after_fork'.
(fhandler_disk_file: Ditto.
(fhandler_dev_mem): Ditto.
* fhandler_mem.cc (fhandler_dev_mem::open): Set OBJ_INHERIT attribute
for device\physicalmemory handle.
(fhandler_dev_mem::mmap): Ditto.
* fhandler_mem.cc (fhandler_dev_mem::fixup_mmap_after_fork): New method.
* mmap.cc (mmap_record): Add private `fdesc_' member. Change constructor
accordingly.
(get_fd): New method.
(mmap): Use new mmap_record constructor.
(fhandler_base::fixup_mmap_after_fork): New method.
(fhandler_disk_file::fixup_mmap_after_fork): Ditto.
(fixup_mmaps_after_fork): Call `fixup_mmap_after_fork' of appropriate
fhandler class.
Diffstat (limited to 'winsup/cygwin/fhandler.h')
-rw-r--r-- | winsup/cygwin/fhandler.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h index 27a5cb942..356eb6beb 100644 --- a/winsup/cygwin/fhandler.h +++ b/winsup/cygwin/fhandler.h @@ -271,6 +271,8 @@ public: int flags, off_t off); virtual int munmap (HANDLE h, caddr_t addr, size_t len); virtual int msync (HANDLE h, caddr_t addr, size_t len, int flags); + virtual BOOL fixup_mmap_after_fork (HANDLE h, DWORD access, DWORD offset, + DWORD size, void *address); void *operator new (size_t, void *p) {return p;} @@ -483,6 +485,8 @@ public: HANDLE mmap (caddr_t *addr, size_t len, DWORD access, int flags, off_t off); int munmap (HANDLE h, caddr_t addr, size_t len); int msync (HANDLE h, caddr_t addr, size_t len, int flags); + BOOL fixup_mmap_after_fork (HANDLE h, DWORD access, DWORD offset, + DWORD size, void *address); }; class fhandler_serial: public fhandler_base @@ -806,6 +810,8 @@ public: HANDLE mmap (caddr_t *addr, size_t len, DWORD access, int flags, off_t off); int munmap (HANDLE h, caddr_t addr, size_t len); int msync (HANDLE h, caddr_t addr, size_t len, int flags); + BOOL fixup_mmap_after_fork (HANDLE h, DWORD access, DWORD offset, + DWORD size, void *address); void dump (); } ; |