You agreed not to bump posts here when you registered.
I've been busy. I'll take another look at it now that I'm not busy.
Your semaphore obviously didn't work,at all, ever, and I'm not sure how to fix it.
[edit] some updates:
Code:
if (figlio==0){
execvp("./adder","./adder", NULL);
a=point[2]; // THIS CODE WON'T EVER BE EXECUTED
fflush(stdout); // NEITHER WILL THIS
exit(0); // NEITHER WILL THIS
}
execvp replaces the current program. It's not like system().
You need to wait() for the child in the parent to finish instead, then get the value from point[] yourself.
Dear Reader,
Is is necessary to attach / dettach the shared memory segments for write operations , if more than one program is accessing same shared memory segments..
I have used semaphore mutex and still I'm getting segmentation fault when I write to the segment when other program is already... (1 Reply)
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)
Hi all :confused: ,
I am new to unix.I have been asked to implement shared memory in user's mode.What does this mean?What is the difference it makes in kernel mode and in users mode?What are the advantages of this impemenation(user's mode)?
And also i would like to know why exactly shared... (0 Replies)
what i want to do is have an int that can been written into by 2 processes but my code doesn't seem to work.
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <sys/shm.h>
#include<stdio.h>
#define KEY1 (1492)
int main()
{
int shmid;
volatile int * addr;... (6 Replies)
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)
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)
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)
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 OPENSOLARIS
sdl_semwaittimeout
SDL_SemWaitTimeout(3) SDL API Reference SDL_SemWaitTimeout(3)NAME
SDL_SemWaitTimeout - Lock a semaphore, but only wait up to a specified maximum time.
SYNOPSIS
#include "SDL.h" #include "SDL_thread.h"
int SDL_SemWaitTimeout(SDL_sem *sem, Uint32 timeout);
DESCRIPTION
SDL_SemWaitTimeout() is a varient of SDL_SemWait with a maximum timeout value. If the value of the semaphore pointed to by sem is positive
(greater than zero) it will atomically decrement the semaphore value and return 0, otherwise it will wait up to timeout milliseconds trying
to lock the semaphore. This function is to be avoided if possible since on some platforms it is implemented by polling the semaphore every
millisecond in a busy loop.
After SDL_SemWaitTimeout() is successful, the semaphore can be released and its count atomically incremented by a successful call to
SDL_SemPost.
RETURN VALUE
Returns 0 if the semaphore was successfully locked or either SDL_MUTEX_TIMEOUT or -1 if the timeout period was exceeded or there was an
error, respectivly.
If the semaphore was not successfully locked, the semaphore will be unchanged.
EXAMPLES
res = SDL_SemWaitTimeout(my_sem, WAIT_TIMEOUT_MILLISEC);
if (res == SDL_MUTEX_TIMEOUT) {
return TRY_AGAIN;
}
if (res == -1) {
return WAIT_ERROR;
}
...
SDL_SemPost(my_sem);
SEE ALSO
SDL_CreateSemaphore, SDL_DestroySemaphore, SDL_SemWait, SDL_SemTryWait, SDL_SemPost, SDL_SemValue
SDL Tue 11 Sep 2001, 23:00 SDL_SemWaitTimeout(3)