Messages in this thread | | | Subject | Re: shmat problem | From | Doug McNaught <> | Date | 06 Jan 2003 11:50:24 -0500 |
| |
Alex Riesen <fork0@users.sf.net> writes:
> Doug McNaught, Mon, Jan 06, 2003 17:36:39 +0100: > > > You have to add SHM_REMAP to shmat flags (see definitions of SHM_ flags). > > Hmm, the manpage (on RH7.3 at least) doesn't mention SHM_REMAP. Nice > > to know about it. > > RH7.3 manpage is quiet old, btw.
Apparently so.
> Linux manpages-1.54 (Dec 30 2002): > > The (Linux-specific) SHM_REMAP flag may be asserted in shmflg to indi- > cate that the mapping of the segment should replace any existing map- > ping in the range starting at shmaddr and continuing for the size of > the segment. (Normally an EINVAL error would result if a mapping > already exists in this address range.) In this case, shmaddr must not > be NULL.
Wouldn't the OP's code still (potentially) have problems? What if you had:
char my_shared_area[2048]; int my_unshared_var;
...
void *foo = shmat(id, &my_shared_area, SHM_REMAP);
Would my_unshared_var end up shared, since memory mappings have page granularity?
-Doug - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |