11.01.2013 Views

IBM AIX Continuous Availability Features - IBM Redbooks

IBM AIX Continuous Availability Features - IBM Redbooks

IBM AIX Continuous Availability Features - IBM Redbooks

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

if (!strcmp(*(argv+1),"read")){<br />

if (rc=ukeyset_add_key(&ckeyset, ckey, UK_READ)){<br />

perror("main():ukeyset_add_key(ckeyset, ckey,UK_READ)");<br />

exit(1);<br />

}<br />

}else{<br />

if (rc=ukeyset_add_key(&ckeyset, ckey, UK_RW)){<br />

perror("main():ukeyset_add_key(ckeyset, ckey,UK_RW)");<br />

exit(1);<br />

}<br />

}<br />

}<br />

key=ftok("./ukey1.c",5);<br />

pid=fork();<br />

switch(pid){<br />

case (0):/* CHILD */<br />

sleep (1);<br />

if ((id=shmget(key, 0, 0))==-1){<br />

perror("child :shmget()");<br />

return (1);<br />

}<br />

if ( (data=shmat(id,(void *)0, 0)) == (char*) (-1) ){<br />

perror("child :shmat()");<br />

return (1);<br />

}<br />

printf("child:data=0x%x\n",data);<br />

if (rc=ukey_protect(data,one_page,ckey)){<br />

perror("child :ukey_protect(ckey)");<br />

exit(1);<br />

}<br />

oldset=ukeyset_activate(ckeyset,UKA_ADD_KEYS);<br />

if (oldset==UKSET_INVALID){<br />

printf("child :ukeyset_activate() failed");<br />

exit (1);<br />

}<br />

printf("child :READ1 =[%s]\n",data);<br />

strcpy(data+strlen(data),"abcd");<br />

printf("child :WRITE1=[abcd]\n");<br />

sleep(2);<br />

printf("child :READ2 =[%s]\n",data);<br />

strcpy(data+strlen(data),"efgh");<br />

printf("child :WRITE2=[efgh]\n");<br />

sleep(2);<br />

if (shmdt(data)==-1){<br />

perror("child :shmdt()");<br />

return (1);<br />

}<br />

return (0);<br />

case (-1):/* ERROR */<br />

perror("fork()");<br />

return (1);<br />

default:/* PARENT */<br />

one_page=4096;<br />

printf("parent:pagesize=%d\n", one_page);<br />

if ((id=shmget(key, one_page, IPC_CREAT|0644))==-1){<br />

104 <strong>IBM</strong> <strong>AIX</strong> <strong>Continuous</strong> <strong>Availability</strong> <strong>Features</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!