BUG: More shmget() problems

Corinna Vinschen corinna-cygwin@cygwin.com
Thu Jun 3 19:53:00 GMT 2004


On Jun  3 14:59, Jerry D. Hedden wrote:
> The following test program:
> 
> #include <sys/shm.h>
> #include <errno.h>
> 
> int
> main(int argc, char **argv)
> {
>     int pid = fork();
>     int id;
> 
>     if (pid == 0) {
>         sleep(5);
>         id = shmget(1, 100, IPC_CREAT | 0666);
>         printf("child (%d): %d (%d)\n", getpid(), id, errno);
>     } else {
>         id = shmget(1, 100, IPC_CREAT | 0666);
>         printf("parent (%d): %d (%d)\n", getpid(), id, errno);
>         sleep(10);
>         shmctl(id, IPC_RMID, 0);
>     }
> 
>     return (0);
> }
> 
> Produces:
> 
> parent (6592): 720896 (0)
> child (28268): 1638401 (0)
> 
> Showing that the child process created its own segment instead of
> begin given the parent's segment.  This is a bug.

Definitely.  I applied a fix in CVS.

Thanks for the testcases!  They were most helpful.

Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Co-Project Leader          mailto:cygwin@cygwin.com
Red Hat, Inc.

--
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/



More information about the Cygwin mailing list