03-20-2010
Memory sharing with NCURSES
Hey, Im using a shared memory segment to share a WINDOW structure among 2 processes. Basically I'm building a multi-player snake game in which multiple prrocesses access the window.
The 'parent' process initializes the shared memory segment and puts the window in it. I can access and perform operations normally from the parent process. However, when I get access to the shared memory segment from the child process any operation results in a segmentation fault. Any ideas whats causing this ?
9 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Hi,
Somebody has told me that NCurses can be used to test vi. But i was unable to figure out how. If anybody has done anything with NCurses please reply.
Also is there any othre way by which we can test vi automatically? (2 Replies)
Discussion started by: rahulrathod
2 Replies
2. UNIX for Advanced & Expert Users
Between mmap and shared memory which is the best method of sharing data between multiple applications, interms of speed? (2 Replies)
Discussion started by: nmds
2 Replies
3. IP Networking
I have RedHat 9.0 installed on three of my servers (PIII - 233MHz) and want that they share a common IP address so that any request made reaches each of the servers.
Can anyone suggest how should I setup my LAN. I'm new to networking in Linux so please elaborate and would be thankful for a timely... (2 Replies)
Discussion started by: Rakesh Ranjan
2 Replies
4. Programming
hi,
this is the problem: i want to swap a linked list between 4 processes (unrelated), is there any way i can do that just by sending a pointer to a structure?
//example
typedef struct node
{
int x;
char c;
struct node *next;
} node;
or i should send the items ( x,c ) by... (9 Replies)
Discussion started by: elzalem
9 Replies
5. Linux
Hi,
I am new to this programming with ncurses. I want to work out few examples on this ncurses. I jus want to know whether this ncurses works with Ubuntu OS? I found tat ncurses doesn come with AIX OS, may be it could be installed as a SupportPac or something, not sure about it.
Can u please... (4 Replies)
Discussion started by: julie_s
4 Replies
6. Programming
Help with ncurses Hi,
I need some help with ncurses.I'm supposed to write a program in C to display date and time and also to input the username and password using C.I chose ncurses for my task and here I am.
Code:
#include <stdio.h>
#include <termios.h>
#include... (1 Reply)
Discussion started by: rakesh_01
1 Replies
7. UNIX for Dummies Questions & Answers
I tried to complile a text-based messenger program but, while configuring, got a message saying that ncurses wasn't found. Though it appears to be there...
This is the program: http://sourceforge.net/project/showfiles.php?group_id=110124&package_id=119574&release_id=373164
I get the error... (5 Replies)
Discussion started by: riwa
5 Replies
8. Programming
Hi guys I'm a newbie.Got a school project:need to convert Linux Hunt game,which is in K&R C to C99.I got some problems over Ncurses files:new library it's very different from the old one.There are some variables that with gcc are considered undefined 'cause they are no more used in the new Ncurses... (2 Replies)
Discussion started by: fracche
2 Replies
9. Programming
I am using ncurses to develop a user interface. Perhaps I should be using something else, but I am reasonably comfortable with ncurses and don't really want to climb another learning curve at this time.
One problem I have dealt with for many years is ncurses' colors. I have simply been... (23 Replies)
Discussion started by: BillLee
23 Replies
SHMGET(2) BSD System Calls Manual SHMGET(2)
NAME
shmget -- get shared memory area identifier
SYNOPSIS
#include <sys/shm.h>
int
shmget(key_t key, size_t size, int shmflg);
DESCRIPTION
shmget() returns the shared memory identifier associated with the key key.
A shared memory segment is created if either key is equal to IPC_PRIVATE, or key does not have a shared memory segment identifier associated
with it, and the IPC_CREAT bit is set in shmflg.
If a new shared memory segment is created, the data structure associated with it (the shmid_ds structure, see shmctl(2)) is initialized as
follows:
o shm_perm.cuid and shm_perm.uid are set to the effective uid of the calling process.
o shm_perm.gid and shm_perm.cgid are set to the effective gid of the calling process.
o shm_perm.mode is set to the lower 9 bits of shmflg.
o shm_lpid, shm_nattch, shm_atime, and shm_dtime are set to 0
o shm_ctime is set to the current time.
o shm_segsz is set to the value of size.
o The ftok(3) function may be used to generate a key from a pathname.
RETURN VALUES
Upon successful completion a positive shared memory segment identifier is returned. Otherwise, -1 is returned and the global variable errno
is set to indicate the error.
ERRORS
The shmget() system call will fail if:
[EACCES] A shared memory segment is already associated with key and the caller has no permission to access it.
[EEXIST] Both IPC_CREAT and IPC_EXCL are set in shmflg, and a shared memory segment is already associated with key.
[EINVAL] No shared memory segment is to be created, and a shared memory segment exists for key, but the size of the segment associ-
ated with it is less than size, which is non-zero.
[ENOENT] IPC_CREAT was not set in shmflg and no shared memory segment associated with key was found.
[ENOMEM] There is not enough memory left to created a shared memory segment of the requested size.
[ENOSPC] A new shared memory identifier could not be created because the system limit for the number of shared memory identifiers
has been reached.
LEGACY SYNOPSIS
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
int
shmget(key_t key, int size, int shmflg);
All of these include files are necessary. The type of size has changed.
SEE ALSO
ftok(3), shmat(2), shmctl(2), shmdt(2), compat(5)
BSD
August 17, 1995 BSD