printf(\ exit(254); }
return retval; }
void *safeshmat(int shmid, const void *shmaddr, int shmflg) {
void *retval;
if ( (retval=shmat(shmid, shmaddr, shmflg)) == (void *)-1) {
printf(\ exit(254); }
return retval; }
int safeshmctl(int shmid, int cmd, struct shmid_ds *buf) {
int retval;
if ( (retval=shmctl(shmid, cmd, buf)) == -1) {
printf(\ exit(254); }
return retval; }
-------------------------------- atexit 语法:
#include
功能: 当程序终止执行时,函数调用函数指针func所指向的函数。可以执行多重调用(至少32个),这些函数以其注册的倒序执行。执行成功返回零值,失败则返回非零值