/
shm_init.c
38 lines (36 loc) · 1014 Bytes
/
shm_init.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// shm_init.c : Initialize Shared Memory Area and finish all processes
//
// Author : Seiji Kameno
// Created: 2012/10/18
//
#include "shm_VDIF.inc"
main(
int argc, // Number of Arguments
char **argv ) // Pointer to Arguments
{
int shrd_param_id; // Shared Memory ID
struct SHM_PARAM *param_ptr; // Pointer to the Shared Param
/*
-------------------------------------------- ALLOC SHARED MEMORY
*/
/*-------- SHARED PARAMETERS --------*/
shm_access(
SHM_PARAM_KEY, // ACCESS KEY
sizeof(struct SHM_PARAM), // SIZE OF SHM
&shrd_param_id, // SHM ID
¶m_ptr); // Pointer to the SHM
/*
-------------------------------------------- WAIT UNTIL FINISH
*/
/*-------- Immediate FINISH --------*/
if( argc >= 2){
param_ptr->validity ^= atoi(argv[1]); // Toggle Flag
} else {
param_ptr->validity |= FINISH;
}
printf("SET VALIDITY %X\n", param_ptr->validity);
/*
-------------------------------------------- RELEASE the SHM
*/
return(0);
}