
Rui Pedro Fernandes escribió:
2009/9/13 Ion Gaztañaga
mailto:igaztanaga@gmail.com> >From the gdb output you sent, I can't deduce why is falling in HPUX, because sem_open is failing but I can't see the errno value and that errno is not a value that can be translated to standardized interprocess values. Let's see if the value of errno after sem_open fails can give us any hint.
In that gdb output, you can see I've printed out the errno value: 22 (EINVAL) . As for the fact that gdb can't show stack variables, can you give me a hint for a possible cause? As I told you, now I'm using the latest available version of gdb for HPUX. The platform linker is being used (not gnu linker) and the only additional flags I've passed to bjam were: cxxflags=-mlp64 linkflags=-mlp64.
I don't know how much you're interested that boost.interprocess supports HPUX platforms, if at all. I you think it would be useful, I could provide you a VPN access to the HPUX host, so that you could check for your self what's happening.
I don't have much time for this, but it seems that seeing: http://docs.hp.com/en/B9106-90009/sem_open.2.html [EINVAL] "The name argument does not begin with "/" or contains "." or ".." as a pathname component." and... "The name argument points to a string referring to a semaphore. It should begin with a "/" and shall conform to pathname rules except that no path component should be "." or ".."." Whereas for shm_open: http://docs.hp.com/en/B9106-90009/shm_open.2.html "The name argument points to the shared memory object name, and must conform to the general construction rules for a pathname." Interprocess supposes that if shm_open needs path-based names(POSIX allows that), sem_open also needs them, so try to comment this line in inteprocess/detail/workaround.hpp: #ifdef BOOST_INTERPROCESS_POSIX_NAMED_SEMAPHORES #if defined(BOOST_INTERPROCESS_FILESYSTEM_BASED_POSIX_RESOURCES) //THIS-> #define BOOST_INTERPROCESS_FILESYSTEM_BASED_POSIX_SEMAPHORES #endif #endif And let's see if simple "/name" names are what hpux needs for sems. Best, Ion