Процесс не в режиме ожидания при использовании "читать" - PullRequest
0 голосов
/ 27 октября 2019

Я хочу отправить имя пользователя из процесса 1 в процесс 2, но процесс 2 завершается без всякой причины;Вот некоторый код, который будет более явным: Процесс 1:

            int fd;
            fd=open("myfifo", O_RDWR);
            int l=strlen(login);
            write(fd,&l,sizeof(l));
            write(fd,login,strlen(login));
            read(fd,login,strlen(login));

Процесс 2:

            int fd,l;
            mkfifo("myfifo",0666);
            fd=open("myfifo",O_RDWR);
            read(fd,&l,sizeof(l));
            read(fd,user,l);
            if (strcmp(user,reference)==0) {
                                                write(fd,"okay",5);
                                            }
            else
            {
                write(fd,"not allowed",12);
            }

Но Процесс 2 не стоит в ожидании чтения из процесса 1, он просто завершается,Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...