
Boris Gubenko wrote:
Ion Gaztanaga wrote:
I wasn't expecting permission problems, though ;-) Could you tell me a shared memory name that a user could use successfully in HP-UX?
It is not just HP-UX. You would've had the same problem on Tru64 or VMS if the codepath that is taken on HP-UX was executed on these platforms -- see below.
Ok, I see. Detecting POSIX conformance is really a nightmare ;-) I think I should just check for _POSIX_SHARED_MEMORY_OBJECTS, because I don't want to miss native shared memory for systems that support it. I suppose I have the same problem for other posix features like _POSIX_THREAD_PROCESS_SHARED. So if I understand it correctly, checking only for the existence of option macros should be enough if I want to support SUSV2 systems, right?
To answer your question, I think, that prepending "/tmp/boost_interprocess/" to the name is a good solution. You already do it on platforms which fail your shared memory objects availability check.
Ok. If POSIX_SHARED_MEMORY_OBJECTS is defined, I will add a prefix to the shared memory name on HP-UX, Tru64, VMS and other future systems that have filesystem based shared memory. Thanks again, Ion