| | |
| | | #include <stdlib.h> |
| | | #include <time.h> |
| | | #include <stdarg.h> |
| | | #include "memfd.h" |
| | | |
| | | #define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \ |
| | | } while (0) |
| | |
| | | |
| | | int basic_shm_open(int fd, pid_t pid, int flags) |
| | | { |
| | | if(0 >= flags) |
| | | { |
| | | basic_shm_path_open(fd, getpid()); |
| | | int memfd = -1; |
| | | switch(flags){ |
| | | case local_open_flag: |
| | | memfd = basic_shm_path_open(fd, getpid()); |
| | | break; |
| | | case remote_open_flag: |
| | | memfd = basic_shm_path_open(fd, pid); |
| | | break; |
| | | default: |
| | | mydebug("not support\n"); |
| | | break; |
| | | } |
| | | else |
| | | { |
| | | basic_shm_path_open(fd, pid); |
| | | } |
| | | return memfd; |
| | | } |
| | | |
| | | int basic_shm_mmap(int fd, unsigned char** ppaddr) |
| | |
| | | |
| | | int basic_shm_close(int fd) |
| | | { |
| | | int ret = -1; |
| | | if (fd >= 0) |
| | | { |
| | | close(fd); |
| | | ret = close(fd); |
| | | } |
| | | return ret; |
| | | } |
| | | |
| | | static void mfd_assert_size(int fd, size_t size) |