Hi,
die Funktionalität wird in 32_SiSi.pm mAn doch umgesetzt und zwar via fork. BlockingCall ist auch nichts anderes. Wenn Du Dich da selbst verwirklichen willst bist Du sicher gut bedient Dich an 32_SiSi.pm wenigsten zu orientieren.
Das tiefer liegende "Problem" liegt jedoch darin, dass Net::DBus eine eigene Eventloop definiert. (reactor.pm #321ff, #349ff).
Vergleiche jetzt mal Reactor.pm #372f
my ($ro, $wo, $eo);
my $n = select($ro=$ri,$wo=$wi,$eo=$ei, (defined $timeout ? ($timeout ? $timeout/1000 : 0) : undef));
fhem.pl #704
$nfound = select($rout=$rin, $wout=$win, $eout=$ein, $timeout) if(!$nfound);
Es wäre also problemlos möglich (mAn "richtig") die Funktionalität von Reactor.pm auf die Eventloop von fhem zu adaptieren (im eigenen modul). Entsprechende Aufrufe der CPAN Module sind ja dort sichtbar.
Dann erspart man sich das ganze forken und die Interprozesskommunikation und alle damit verbundenen Probleme.