yeongw@gandhi.nyser.net (08/30/89)
Hi, I'm writing a multi-process application that uses shared memory, and am having some difficulty trying to get shared memory to work. So far, I've tried the following hardware/software combinations, with results in using shared memory as follows: hardware software result SUN4/280 SUNOS 4.0.3 works sometimes SUN 3/260 SUNOS 3.5 has never worked SUN 3/60 SUNOS 4.0.3 has never worked Solbourne 4/602 Solbourne OS/MP works sometimes When things don't work, I consistently get an EINVALID error from shmget(). My application attempts to obtain three shared memory buffers which together are between 100bytes and 20KB in size (depends on some compile constants), if that is significant. The larger the buffers I try to obtain, the less likely the calls to shmget() will succeed. Questions: 1) Has anybody ever managed to get shared memory on a SUN4 running SUNOS 4.0.3 (which is the environment I'm primarily interested in) to work consistently? 2) It appears to be impossible to obtain a single block of shared memory > PAGESIZE (as defined in <machine/param.h>) in size. This appears to be because the shared memory system exists in virtual memory, and not real memory. Is that true, that the SUN shared memory implementation uses virtual memory and not real memory? 3) Are there any sample programs that run on SUNs of any kind, under any version of SUNOS which use shared memory that I could look at? Thanks in advance. Wengyik Yeong NYSERNet Inc. yeongw@nisc.nyser.net