25 #define _XOPEN_SOURCE 500 64 if ((fd = open (name, O_RDWR | O_CREAT, 0640)) < 0) {
69 if (fstat (fd, &st) != 0) {
78 if (ftruncate(fd, size) != 0) {
84 if ((buf = malloc (size)) == NULL) {
89 memset (buf, 0, size);
91 if (pwrite (fd, buf, (size - osize), osize) < (size - osize)) {
95 if (write (fd, buf, size) < 0) {
103 if ((buf = mmap (NULL, size, (PROT_READ | PROT_WRITE),
104 MAP_SHARED, fd, 0)) == NULL) {
115 if ((shm->
name = strdup (name)) == NULL) {
136 if (munmap (shm->
buf, shm->
size) != 0) {
143 if (shm->
name != NULL)
162 if (fstat (shm->
fd, &st) != 0) {
183 if (fstat (shm->
fd, &st) != 0) {
187 if (st.st_size != size) {
188 if (ftruncate (shm->
fd, size) != 0) {
221 if ((fd = shm_open (name, O_RDWR | O_CREAT, 0640)) < 0) {
226 if (fstat (fd, &st) != 0) {
235 if (ftruncate(fd, size) != 0) {
241 if ((buf = malloc (size)) == NULL) {
246 memset (buf, 0, size);
248 if (pwrite (fd, buf, (size - osize), osize) < (size - osize)) {
252 if (write (fd, buf, size) < 0) {
260 if ((buf = mmap (NULL, size, (PROT_READ | PROT_WRITE),
261 MAP_SHARED, fd, 0)) == NULL) {
272 if ((shm->
name = strdup (name)) == NULL) {
292 if (shm_unlink (shm->
name) != 0) {
296 if (munmap (shm->
buf, shm->
size) != 0) {
302 if (shm->
name != NULL)
321 if (fstat (shm->
fd, &st) != 0) {
342 if (fstat (shm->
fd, &st) != 0) {
346 if (st.st_size != size) {
347 if (ftruncate (shm->
fd, size) != 0) {
#define ZE_LogSysError(...)