[ELDK] Posix Shared Memory
wd at denx.de
Thu May 22 10:36:42 CEST 2008
In message <27dfa3d0805220031j5e89c99bh1524c764763fbbc5 at mail.gmail.com> you wrote:
> Using an AMC440EP and just realised the posix shared memory wasn't
> around. Had somewhat taken that for granted on my pc systems. To
> configure the kernel I've tried
> Filesystems -> Pseudo filesystems -> Virtual memory filesystem support
> or more simply, tmpfs. Do I also need to enable
> General Setup -> Use full shmem filesystem?
You have to enable CONFIG_SYSVIPC
> Regardless, neither seem to be working. If I use the tmpfs and mount
> it on /dev/shm as the man pages suggest, the tmpfs seems to work.
> Creation of files there work ok and disappear on unmounting, but still
> I get errors when trying to create a shared memory object. The
> returned error value (errno) obtained after a failed shm_open is also
> curious - 38. Which is one of the real time signals, not an expected
> shm_open error value.
Your interpretation is wrong. Errno == 38 == ENOSYS means
(see "man errno" and /usr/include/asm-generic/errno.h):
#define ENOSYS 38 /* Function not implemented */
And "Function not implemented" makes perfect sense if you did not
cunfigure the feature in the kernel.
> If anyone's tried this before and has some advice, it'd be much
> appreciated, thanks.
Enable CONFIG_SYSVIPC and try again...
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Ill-chosen abstraction is particularly evident in the design of the
ADA runtime system. The interface to the ADA runtime system is so
opaque that it is impossible to model or predict its performance,
making it effectively useless for real-time systems.
- Marc D. Donner and David H. Jameson.
More information about the eldk