[gclist] Reference counter management in two different memory spaces

Stephane Letz letz@grame.fr
Wed, 18 Oct 2000 18:36:40 +0200


We are developing a system where we need to exchange pointers on data
structures between different processes in a multi-thread environment (Linux)
The data is allocated in a shared memory area in user space. A reference
counting mechanism is used.  So copying data structures is done by
incrementing the reference counter as usual.
A some point we need to copy the data structures when we are in a context
where the reference counter can not be accessed (more precisely in kernel
space). Later on, pointer to  data structures will be given back to user
space processes. One could probably imagine a system when copies done in
kernel space could increment a special reference counter that will be added
to the user space reference counter later. But I was wondering if there a
standard or well known method to do that.

Thanks in advance for any advice or references.

Stephane Letz

Grame: Centre National de creation musicale
9, Rue du Garet
69001 Lyon
Tel: 04-72-07-37-00
Fax: 04-72-07-37-01
Web: www.grame.fr