The Xserver doesn't pick the keys. The OS does, ie. it allocates them with IPC_PRIVATE. You are trying to allocate segments that have already been allocated by other processes such as the Xserver. Are you calling shmget with IPC_CREAT and checking your return values? If you're not having the OS allocate them for you by passing IPC_PRIVATE as the key, you'll need to be checking return values. Mark. On Mon, 10 Nov 2003, Richard L. Kitchen wrote: > I am running version 4.3.0 of XFree86 and I have a problem with > the Xserver removing shared memory partitions that belong to other > processes when it starts. > > Apparently when I originally wrote my code which uses shared > memory I unwisely choose to use shared memory keys in the > range 1 - 200. > > I notice that the Xserver seems to create shm partitions with > key values of 0 and 2 and most likely other values that I haven't > yet gleaned. > > If I change the key value to some rather large number my problem > goes away, i.e. my partition is not marked for deletion by the > server. > > My question is: what ranges of shared memory key values are > being used by the Xserver and friends ? I would like to change > my code to avoid the problem now and in the future. > > > > > > _______________________________________________ > XFree86 mailing list > XFree86@xxxxxxxxxxx > http://XFree86.Org/mailman/listinfo/xfree86 > _______________________________________________ XFree86 mailing list XFree86@xxxxxxxxxxx http://XFree86.Org/mailman/listinfo/xfree86