02-15-2009
Quote:
Originally Posted by
otheus
That's a lot of code. I'm thinking that areas provisioned by shmget should already have a built-in mechanism for access control. The man pages say something about permissions, but say nothing about they actually work and whether or not they provide exclusion or not.
Permissions describe
who's allowed to use them, not
when. IPC semaphores are a bit wordy, yes. But then, so is IPC shared mem.
8 More Discussions You Might Find Interesting
1. IP Networking
Is there any facility to filter/identify the data calls and voice calls coming throug modem?
OR
Can we get the data or voice calls information through a script(preferably C Kermit)? (0 Replies)
Discussion started by: pcsaji
0 Replies
2. UNIX Desktop Questions & Answers
Hi,
I'm new to UNIX system calls. Can someone share your knowledge as to how exactly system calls should be executed?
Can they be typed like commands such as mkdir on the terminal itself? Also, are there any websites which will show me an example of the output to expect when a system call like... (1 Reply)
Discussion started by: ilavenil
1 Replies
3. BSD
what is the functions and relationship between fork,exec,wait system calls
as i am a beginer just want the fundamentals. (1 Reply)
Discussion started by: sangramdas
1 Replies
4. UNIX for Dummies Questions & Answers
Hi all,
I am new here .
I want to know about system call in detail.
As system calls are also function .How system identifies it.:) (2 Replies)
Discussion started by: vishwasrao
2 Replies
5. Shell Programming and Scripting
hi, i'm a noob
i have a quuestion: is possible to call and run the bash script by c++ program?
if so, is it posible in grafic? specially Qt ?
thanks (8 Replies)
Discussion started by: 3.14.TR
8 Replies
6. UNIX for Dummies Questions & Answers
Hello,
how would i be able to call ps in C programming?
thanks,
---------- Post updated at 01:39 AM ---------- Previous update was at 01:31 AM ----------
here's the complete system call, ps -o pid -p %d, getpit() (2 Replies)
Discussion started by: l flipboi l
2 Replies
7. Solaris
Hi Solaris experts
How to predefine the DESTDIR in a Solaris package?
Thanks (1 Reply)
Discussion started by: ./hari.sh
1 Replies
8. SCO
Hello,
I wonder if anybody could help. I'm running SCO Xenix under Qemu on Xubuntu 16.04. I created a SYSV floppy image, but the files on it are poorly displayed when I mounted it under Xenix.
I tried to create and format this image under Ubuntu as well as under Xenix.
How could I create a... (6 Replies)
Discussion started by: Neelix
6 Replies
LEARN ABOUT FREEBSD
shmget
SHMGET(2) BSD System Calls Manual SHMGET(2)
NAME
shmget -- obtain a shared memory identifier
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
int
shmget(key_t key, size_t size, int flag);
DESCRIPTION
Based on the values of key and flag, shmget() returns the identifier of a newly created or previously existing shared memory segment. The
key is analogous to a filename: it provides a handle that names an IPC object. There are three ways to specify a key:
o IPC_PRIVATE may be specified, in which case a new IPC object will be created.
o An integer constant may be specified. If no IPC object corresponding to key is specified and the IPC_CREAT bit is set in flag, a new one
will be created.
o The ftok(3) may be used to generate a key from a pathname.
The mode of a newly created IPC object is determined by OR'ing the following constants into the flag argument:
S_IRUSR Read access for owner.
S_IWUSR Write access for owner.
S_IRGRP Read access for group.
S_IWGRP Write access for group.
S_IROTH Read access for other.
S_IWOTH Write access for other.
When creating a new shared memory segment, size indicates the desired size of the new segment in bytes. The size of the segment may be
rounded up to a multiple convenient to the kernel (i.e., the page size).
RETURN VALUES
Upon successful completion, shmget() returns the positive integer identifier of a shared memory segment. Otherwise, -1 is returned and errno
set to indicate the error.
ERRORS
The shmget() system call will fail if:
[EINVAL] Size specified is greater than the size of the previously existing segment. Size specified is less than the system
imposed minimum, or greater than the system imposed maximum.
[ENOENT] No shared memory segment was found matching key, and IPC_CREAT was not specified.
[ENOSPC] The kernel was unable to allocate enough memory to satisfy the request.
[EEXIST] IPC_CREAT and IPC_EXCL were specified, and a shared memory segment corresponding to key already exists.
SEE ALSO
shmat(2), shmctl(2), shmdt(2), stat(2), ftok(3)
BSD
December 17, 2010 BSD