#!/usr/local/bin/perl use threads; use threads::shared; use POSIX::RT::Semaphore; $sem = POSIX::RT::Semaphore->init(0, 0); my $pid = fork; if ( $pid == 0 ) { $sem->wait; print "CODE2\n"; exit; } print "CODE1\n"; $sem->post; Я вижу только CODE1 Почему в дочернем процессе блокировка остаётся после того как в родительском сделан post и значение увеличено на 1 Мне надо лишь чтобы CODE1 было выведено раньше чем CODE2
Ответ на:
комментарий
от Die-Hard
Ответ на:
комментарий
от kri
Ответ на:
комментарий
от Die-Hard
Ответ на:
комментарий
от kri
Ответ на:
комментарий
от Die-Hard
Ответ на:
комментарий
от anonymous
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум perl fork() (2007)
- Форум Perl, пара вопросов (2005)
- Форум fork()+exec()+pipe() (2016)
- Форум сегфолт в perl gtk2, которого раньше не было (2014)
- Форум Синхронизация в модуле апача (2005)
- Форум C++, Perl and pipe (2001)
- Форум fork(), exec(), wait() (2020)
- Форум Форкнуться в другой виртуальный терминал (2024)
- Форум bash, как вернуть результат из функции, выполняемой в фоне (2024)
- Форум perl обработка stdout and stdin сторонней проги (2006)