Zdravim,
mam takto definovane struktury
typedef struct PLAYER {
int id;
int pid;
char nick[10];
char ip[20];
int chip_count;
int card1;
int card2;
int is_in_game;
int is_all_in;
int bet;
int winning;
double comb_value;
} PLAYER;
typedef struct LIST {
struct PLAYER array[10];
} LIST;
zde se vytvori sdilena pamet
LIST *list;
/* Vytvořit sdílenou paměť */
shmid = shmget(IPC_PRIVATE, sizeof(LIST), IPC_CREAT | SHM_R | SHM_W);
if(shmid < 0) {
perror("shmget()");
exit(EXIT_FAILURE);
}
if((list = shmat(shmid, NULL, 0)) == (void *)-1) {
perror("shmat()");
exit(EXIT_FAILURE);
}
/* Vytvořit semafor */
if((semid = semget(IPC_PRIVATE, 1, IPC_CREAT | SEM_R | SEM_A)) < 0) {
perror("semget()");
exit(EXIT_FAILURE);
}
/* Inicializovat semafor na hodnotu 1 (zámek odemčen) */
union semun su;
su.val = 1;
if(semctl(semid, 0, SETVAL, su)) {
perror("semctl()");
exit(EXIT_FAILURE);
}
mam fci, ktera mi vynuluje strukturu PLAYER. to aplikuji na cele pole array v strukture LIST a vytisknu.
ID: 0 nk: pid: 0 chps: 0 bet: 0 win: 0 c1: 0 c2: 0 AI: 0 IG: 0
ID: 0 nk: pid: 0 chps: 0 bet: 0 win: 0 c1: 0 c2: 0 AI: 0 IG: 0
ID: 0 nk: pid: 0 chps: 0 bet: 0 win: 0 c1: 0 c2: 0 AI: 0 IG: 0
ID: 0 nk: pid: 0 chps: 0 bet: 0 win: 0 c1: 0 c2: 0 AI: 0 IG: 0
ID: 0 nk: pid: 0 chps: 0 bet: 0 win: 0 c1: 0 c2: 0 AI: 0 IG: 0
ID: 0 nk: pid: 0 chps: 0 bet: 0 win: 0 c1: 0 c2: 0 AI: 0 IG: 0
ID: 0 nk: pid: 0 chps: 0 bet: 0 win: 0 c1: 0 c2: 0 AI: 0 IG: 0
ID: 0 nk: pid: 0 chps: 0 bet: 0 win: 0 c1: 0 c2: 0 AI: 0 IG: 0
ID: 0 nk: pid: 0 chps: 0 bet: 0 win: 0 c1: 0 c2: 0 AI: 0 IG: 0
ID: 0 nk: pid: 0 chps: 0 bet: 0 win: 0 c1: 0 c2: 0 AI: 0 IG: 0
Po zapsani jednoho noveho prvku se ale zmeni i nektere jine atributy nekterych struktur.
ID: 123 nk: fsd pid: 6324 chps: 700 bet: 0 win: 0 c1: 0 c2: 0 AI: 0 IG: 0
ID: 0 nk: pid: 0 chps: 0 bet: 0 win: 0 c1: 0 c2: 0 AI: 0 IG: 0
ID: 0 nk: pid: 0 chps: 0 bet: 0 win: 0 c1: 0 c2: 0 AI: [b]6583142[/b] IG: 0
ID: 0 nk: pid: 0 chps: 0 bet: 0 win: 0 c1: 0 c2: 0 AI: 0 IG: 0
ID: 0 nk: pid: 0 chps: 0 bet: 0 win: 0 c1: 0 c2: 0 AI: 0 IG: 0
ID: 0 nk: pid: 0 chps: 0 bet: 0 win: 0 c1: 0 c2: 0 AI: 0 IG: 0
ID: 0 nk: pid: [b]167772160[/b] chps: 0 bet: 0 win: 0 c1: 0 c2: 0 AI: 0 IG: 0
ID: 0 nk: pid: 0 chps: 0 bet: 0 win: 0 c1: 0 c2: 0 AI: 0 IG: 0
ID: 0 nk: pid: 0 chps: 0 bet: 0 win: 0 c1: 0 c2: 0 AI: 0 IG: 0
ID: 0 nk: pid: 0 chps: 0 bet: 0 win: 0 c1: 0 c2: 0 AI: 0 IG: 0
Pripada mi to, jako by si neco do me pameti odkladalo data. Jak tomu zamezit ?