Okay, so here is some code that when compiled on Fedora Core 6 works great, but when I compile and run it on OpenSuse 10 it gives back a seg fault when trying to join the 2nd thead.
#include <pthread.h>
#include <stdio.h>
int print_message_function( void *ptr );
int x = 1;
main()
{
... (1 Reply)
Hello everyone,
Today we are attempting to port some legacy C code to a 64 HP-UX machine at my company and there is kind of a strange error we ran into.
there is a small function they have defined called zgetenv that
accepts a char* and basically just does some null checking and returns ... (0 Replies)
Hi,
First of all forgive me if Xlib related problems does not go under this thread.
In my main program, im using Xlib`s XImage type object which contains a regularly updating bitmap, and maps the XImage to a Xwindow using XPutImage.
( XCreateImage is used to create the XImage. )
The... (0 Replies)
Hi
some help read............
I'm getting a segmentation fault when I run an AIX COBOL/Db2 program.
I initiate the program from the command line, but it hangs, and then when I press enter it generates a segmantation fault and produces a core dump.
The box is running AIX software level ... (5 Replies)
Hello,
I have a header which I have to add to a sorted file, however if I use
cat header sortedfile > newfile, the operation takes 2 minutes as the sorted file is over 400mb.
I have noticed that when I sort the 400mb unsorted file, this only takes 14 seconds to create the output.
As... (2 Replies)
Hi,
I have a input file(text file) with the following lines.
0x000000 0x5a80 0x0060 BRA.l 0x60 ;file:UserCall.s ;function:_user_call_table ;C_sourceLine:24
0x000002 0x1bc5 RETI ;file:UserCall.s ;function:_user_call_table ;C_sourceLine:30
0x000003 0x6840 MOV R0L,R0L ;file:UserCall.s... (6 Replies)
Discussion started by: acdc
6 Replies
LEARN ABOUT ULTRIX
shmop
shmop(2) System Calls Manual shmop(2)Name
shmop, shmat, shmdt - shared memory operations
Syntax
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
char *shmat (shmid, shmaddr, shmflg)
int shmid;
char *shmaddr;
int shmflg;
int shmdt (shmaddr)
char *shmaddr;
Description
The system call attaches the shared memory segment associated with the shared memory identifier specified by shmid to the data segment of
the calling process. The segment is attached at the address specified by one of the following criteria:
If shmaddr is equal to zero, the segment is attached at the first available address as selected by the system.
If shmaddr is not equal to zero and (shmflg & SHM_RND ) is true, the segment is attached at the address given by (shmaddr- (shmaddr modulus
SHMLBA )).
If shmaddr is not equal to zero and (shmflg & SHM_RND ) is false, the segment is attached at the address given by shmaddr.
The segment is attached for reading if (shmflg & SHM_RDONLY ) is true. Otherwise, it is attached for reading and writing.
The system call detaches from the calling process's data segment the shared memory segment located at the address specified by shmaddr.
Return Values
Upon successful completion, the return values are as follows:
o The system call returns the data segment start address of the attached shared memory segment.
o The system call returns a value of zero (0).
Otherwise, a value of -1 is returned, and errno is set to indicate the error.
Diagnostics
The system call fails and not attach the shared memory segment, if any of the following is true:
[EINVAL] The shmid is not a valid shared memory identifier.
[EACCES] Operation permission is denied to the calling process. For further information, see
[ENOMEM] The available data space is not large enough to accommodate the shared memory segment.
[EINVAL] The shmaddr is not equal to zero, and the value of (shmaddr- (shmaddr modulus SHMLBA )) is an illegal address.
[EINVAL] The shmaddr is not equal to zero, (shmflg & SHM_RND ) is false, and the value of shmaddr is an illegal address.
[EMFILE] The number of shared memory segments attached to the calling process would exceed the system imposed limit.
The fails and does not detach the shared memory segment if:
[EINVAL] The shmaddr is not the data segment start address of a shared memory segment.
See Alsoexecve(2), exit(2), fork(2), shmctl(2), shmget(2)shmop(2)