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