This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: cygserver shmat
Le jeu 12/08/2004 Ã 14:19, bertrand marquis a Ãcrit :
> Le jeu 12/08/2004 Ã 14:03, bertrand marquis a Ãcrit :
> > Le jeu 12/08/2004 Ã 12:44, Corinna Vinschen a Ãcrit :
> > > On Aug 12 12:13, bertrand marquis wrote:
> > > > In fact i wasn't using the SHM_RNd flag.
> > > >
> > > > In details here is what i do:
> > > >
> > > > - get a shared segment of with size= SIZE (SIZE multiple of SHMLBA)
> > > > - attach the segment without specifying address and storing the result
> > > > in beginaddress
> > > > - attach the segment again specifying the address: endposition=
> > > > beginaddress + SIZE
> > > >
> > > > without SHM_RND in the second shmat i've got the error : invalid
> > > > argument
> > > >
> > > > now that i specifie SHM_RND in the flag i have the error: value to large
> > > > for defined type ....
> > > >
> > > > any idea ?
> > >
> > > Nope. Not without knowing the actual values. An strace output of
> > > the affected calls would be good. Even better, create a simple testcase
> > > which allows to reproduce the behaviour. Just the minimum of necessary
> > > code.
> > >
> > >
> > > Corinna
> >
> >
> > Ok,
> >
> > i have made a minimum program showing the problem.
> > You can try specifying or not SHM_RND in the second shmat, without i
> > have INvalid argument error and with i have value too large for defined
> > data type.
> >
> >
> > thanks
> > bertrand
> >
> > ______________________________________________________________________
> Hello
>
> Running some tests it seems that specifying an adress is not the problem
> because if i give an adress in the first shmat it is running well as
> long as this adress is free.
> In fact the problem is only when specifying an adress for mapping the
> same segment twice and only if we specifie the adress the second time.
>
> i hope it could help or give an idea to someone.
>
> bertrand
>
>
> --
> Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
> Problem reports: http://cygwin.com/problems.html
> Documentation: http://cygwin.com/docs.html
> FAQ: http://cygwin.com/faq/
>
Hello an other time,
Ok i perhaps find a solution or a beginning of solution:
the getpagesize() function return a value of 4096 for the page size and
it seems that shmat need the address to be aligned on a multiple of
SHMLBA (655539), if instead of using getpagesize value to round the size
i use the value of SHMLBA i can run the test program without any
problem.
the thing is that this doesn't append under linux. In fact under linux
SHMLBA=getpagesize=4096 so the program run perfectly without any
problem.
Perhaps the cygwin release of getpagesize should output also SHMLBA ?
bertrand
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/