#!/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)