У меня два процесса rwlock1 (родительский) и rwlock2 (дочерний). Я хочу использовать блокировку чтения-записи между процессами, мне нужно передать pthread_rwlock_t mem_lock
дочернему процессу, у меня есть простой код, как я могу передать дескриптор. Я не хочу использовать мьютекс.
rwlock1 (родительский) код
#include <unistd.h>
#include <pthread.h>
#include <sys/wait.h>
pthread_rwlock_t mem_lock;
int main() {
pid_t pid;
//init attr
pthread_rwlockattr_t mem_lock_attr;
pthread_rwlockattr_init(&mem_lock_attr);
pthread_rwlockattr_setpshared(&mem_lock_attr, 1);
//init read writer lock
pthread_rwlock_init(&mem_lock, &mem_lock_attr);
pid = fork();
if (pid == 0) {
execl("rwlock2", "rwlock2", (char *) nullptr);
}
//wait child
wait(nullptr);
return 0;
}