08-16-2009
Yes you can write a list and/or data structure to shared memory.
9 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
I am running HP-UX B.11.11.
I'm increasing a parameter for a database engine so that it uses more memory to buffer the disk drive (to speed up performance). I have over 5GB of memory not being used.
But when I try to start the DB with the increased buffer parameter I get told.
"Not... (1 Reply)
Discussion started by: cjcamaro
1 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. Programming
Between mmap and shared memory which is the best method of sharing data between multiple applications, interms of speed? (1 Reply)
Discussion started by: nmds
1 Replies
4. Programming
I need to create a shared library to access an in memory DB. The DB is not huge, but big enough to make it cumbersome to carry around in every single process using the shared library. Luckily, it is pretty static information, so I don't need to worry much about synchronizing the data between... (12 Replies)
Discussion started by: DreamWarrior
12 Replies
5. Programming
I am writing a shared library in Linux (but compatible with other UNIXes) and I want to allow multiple instances to share a piece of memory -- 1 byte is enough. What's the "best" way to do this? I want to optimize for speed and portability.
Obviously, I'll have to worry about mutual exclusion. (0 Replies)
Discussion started by: otheus
0 Replies
6. Shell Programming and Scripting
Here is what i need to do.
@data #has all column wise data so say info for col 1 location for all rows would be in this array
$array = \@data
But i need to create a file which should contain these information in a format for all columns even if i have got no values from some of the index... (0 Replies)
Discussion started by: dinjo_jo
0 Replies
7. Programming
I'll try to keep this short, but basically I need to figure out a way to load data in shared memory (this file will be called load.c) I will later access the data with a print.c program.
The "data" is in the form of a student database that looks like this
John Blakeman
111223333
560... (7 Replies)
Discussion started by: Mercfh
7 Replies
8. Programming
Hello,
I have a signal handler which manipulates a data structure. The data structure's operations aren't atomic. So if two threads/processes are in a critical section at the same time the data structure will be broken.
With threads you can avoid this stuff with semaphores etc.
However,... (10 Replies)
Discussion started by: littlegnome
10 Replies
9. Programming
Hello.
I am new to this forum and I would like to ask for advice about low level POSIX programming.
I have to implement a POSIX compliant C shared library.
A file will have some variables and the shared library will have some functions which need those variables.
There is one special... (5 Replies)
Discussion started by: iamjag
5 Replies
LEARN ABOUT ULTRIX
shmget
shmget(2) System Calls Manual shmget(2)
Name
shmget - get shared memory segment
Syntax
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
int shmget (key, size, shmflg)
key_t key;
int size, shmflg;
Description
The system call returns the shared memory identifier associated with key.
A shared memory identifier and associated data structure and shared memory segment of size size bytes are created for key, if one of the
following is true:
The key is equal to IPC_PRIVATE. For further information, see
The key does not already have a shared memory identifier associated with it, and (shmflg & IPC_CREAT ) is true.
Upon creation, the data structure associated with the new shared memory identifier is initialized as follows:
The and are set equal to the effective user ID and effective group ID of the calling process.
The low-order nine bits of are set equal to the low-order nine bits of shmflg. The is set equal to the value of size.
The and are set equal to zero (0). The shm_ctime is set equal to the current time.
Return Values
Upon successful completion, a non-negative integer, namely, a shared memory identifier is returned. Otherwise, a value of -1 is returned
and errno is set to indicated the error.
Diagnostics
The system call fails if any of the following is true:
[EINVAL] The size is less than the system-imposed minimum or greater than the system-imposed maximum.
[EACCES] A shared memory identifier exists for key, but operations permission, as specified by the low-order nine bits of shmflg,
would not be granted. For further information, see
[EINVAL] A shared memory identifier exists for key, but the size of the segment associated with it is less than size and size is not
equal to zero.
[ENOENT] A shared memory identifier does not exist for key, and (shmflg & IPC_CREAT ) is false.
[ENOSPC] A shared memory identifier is to be created, but the system-imposed limit on the maximum number of allowed shared memory
identifiers would be exceeded.
[ENOMEM] A shared memory identifier and the associated shared memory segment are to be created, but the amount of available physical
memory is not sufficient to fill the request.
[EEXIST] A shared memory identifier exists for key, but ((shmflg & IPC_CREAT ) and (shmflg & IPC_EXCL )) is true.
See Also
shmctl(2), shmop(2), ftok(3)
shmget(2)