shared libraries are mapped with MAP_PRIVATE flag (points the 'p') for only visible from the process which calls to mmap() not other process that mapping the same file.
if any changes are needed on the shared library, then changes just affect the memory mapped region of this process by the get a copy of this page and read/write on that.
so other process are not affected for any changes.
eventually these files are mapping with 'private' type for probably despite the case of file corruption.nevertheless after the any made changes (on the copy page), modified/changed pages can use for share between processes with MAP_SHARED flag.(as the `parent-child` processes..)
gconv-modules.cache is cache data (i.e..recently libraries..) file for speedup the loading executables that provided by glibc, therefore cache datas must use as writable for any applications.because, these are mapped with MAP_SHARED (points the 's').and so last changes are visible by the other processes.
Hello..
I stink at NIS! :)
Im having a problem with NIS on solaris 2.X. / SPARC
I have some maps that are exported to all clients in the domain. Now I setup a new server and add it as a nis client to the domain. On the NIS server there is a auto_direct map that mounts /usr/local . This is... (4 Replies)
question: for the below program
i just printed the value for pid, child pid and parent pid
why does it give me 6 values? i assume ppid is 28086
but can't figure out why there are 5 values printed instead of just two!
can someone comment on that!
#include<stdio.h>
#define DIM 8
int... (3 Replies)
1. If I use an software application(which connects to the database in the server) in my local pc, how many PID should be registered? Would there be PID for the session and another PID for socket connection?
2. I noticed (through netstat) that when I logged in using the my software application,... (1 Reply)
hi,
i hav a query abt reading the contents of /proc/pid/maps file.is there any system apis or functions available to get the data from dat file and parse according to my need. i need name of the .so,Create date of the .so file.,Location of .so file etc.
please provide a good source.
yes i hav... (3 Replies)
Hi,
I need to get the pid of a process and have to store the pid in a variable and i want to use this value(pid) of the variable for some process. Please can anyone tell me how to get the pid of a process and store it in a variable. please help me on this.
Thanks in advance,
Amudha (7 Replies)
Hi,
I am trying to calculate the CPU Usage by getting the difference between the idle time reported by /proc/stat at 2 different intervals. Now the 4th entry in the first line of /proc/stat will give me the 'idle time'. But I also came across /proc/uptime that gives me 2 entries : 1st one as the... (0 Replies)
Hi all,
I'm reading <advanced bash scripting> and there is a example to kill a background process in a limited time,as shown below:
#! /bin/bash
#set -n
TIMEOUT=$1
count=0
hanging_jobs & {
while ((count < TIMEOUT));do
eval ' && ((count = TIMEOUT))'
((count++))
sleep 1... (6 Replies)
Hi guys,
i need to write a shell script that will close file descriptors from /proc/pid/fd
will calling exec 4<&- solve the problem ?
thanks in advance :) (15 Replies)
Discussion started by: alpha_romeo
15 Replies
LEARN ABOUT HPUX
minherit
MINHERIT(2) BSD System Calls Manual MINHERIT(2)NAME
minherit -- control the inheritance of pages
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <sys/mman.h>
int
minherit(void *addr, size_t len, int inherit);
DESCRIPTION
The minherit() system call changes the specified pages to have the inheritance characteristic inherit. Not all implementations will guaran-
tee that the inheritance characteristic can be set on a page basis; the granularity of changes may be as large as an entire region. FreeBSD
is capable of adjusting inheritance characteristics on a page basis. Inheritance only effects children created by fork(). It has no effect
on exec(). exec'd processes replace their address space entirely. This system call also has no effect on the parent's address space (other
than to potentially share the address space with its children).
Inheritance is a rather esoteric feature largely superseded by the MAP_SHARED feature of mmap(). However, it is possible to use minherit()
to share a block of memory between parent and child that has been mapped MAP_PRIVATE. That is, modifications made by parent or child are
shared but the original underlying file is left untouched.
INHERIT_SHARE This option causes the address space in question to be shared between parent and child. It has no effect on how the original
underlying backing store was mapped.
INHERIT_NONE This option prevents the address space in question from being inherited at all. The address space will be unmapped in the
child.
INHERIT_COPY This option causes the child to inherit the address space as copy-on-write. This option also has an unfortunate side effect
of causing the parent address space to become copy-on-write when the parent forks. If the original mapping was MAP_SHARED, it
will no longer be shared in the parent after the parent forks and there is no way to get the previous shared-backing-store
mapping without unmapping and remapping the address space in the parent.
RETURN VALUES
The minherit() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indi-
cate the error.
ERRORS
The minherit() system call will fail if:
[EINVAL] The virtual address range specified by the addr and len arguments is not valid.
[EACCES] The flags specified by the inherit argument were not valid for the pages specified by the addr and len arguments.
SEE ALSO fork(2), madvise(2), mincore(2), mprotect(2), msync(2), munmap(2), rfork(2)HISTORY
The minherit() system call first appeared in OpenBSD and then in FreeBSD 2.2.
BUGS
Once you set inheritance to MAP_PRIVATE or MAP_SHARED, there is no way to recover the original copy-on-write semantics short of unmapping and
remapping the area.
BSD October 30, 2007 BSD