📄 lock_pthread.c
字号:
/* include my_lock_init */#include "unpthread.h"#include <sys/mman.h>static pthread_mutex_t *mptr; /* actual mutex will be in shared memory */voidmy_lock_init(char *pathname){ int fd; pthread_mutexattr_t mattr; fd = Open("/dev/zero", O_RDWR, 0); mptr = Mmap(0, sizeof(pthread_mutex_t), PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); Close(fd); Pthread_mutexattr_init(&mattr); Pthread_mutexattr_setpshared(&mattr, PTHREAD_PROCESS_SHARED); Pthread_mutex_init(mptr, &mattr);}/* end my_lock_init *//* include my_lock_wait */voidmy_lock_wait(){ Pthread_mutex_lock(mptr);}voidmy_lock_release(){ Pthread_mutex_unlock(mptr);}/* end my_lock_wait */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -