_  _   ,_
/^\/^\-/ @D
~(________/ PERL.LT
|L |L
L L
Straipsniai  Funkcijos 
Funkcijos/semop - SysV signalinės operacios

  • semop KEY,OPSTRING

    Iškviečia System V IPC funkciją semop atlikti signalines (semaphore) operacijas, tokias kaip ženklo davimas ir laukimas. OPSTRING turi būti supakuotas semop struktūrų masyvas. Kiekviena semop struktūra gali būti sukurta taip: pack("s!3", $semnum, $semop, $semflag) . Signalinių operacijų skaičius yra suprantamas iš OPSTRING ilgio. Sėkmės atveju gražina true, esant klaidai - false. Kaip pavyzdys - toliau einantis kodas laukia signalo id $semid signalo $semnum (klaidos kodas įrašomas į $!):

        $semop = pack("s!3", $semnum, -1, 0);
        die "Semaphore trouble: $!\n" unless semop($semid, $semop);

    Norint pažymėti signalą, reikia vietoje -1 įrašyti 1 . Taip pat apie tai "SysV IPC" perlipc, IPC::SysV ir IPC::SysV::Semaphore dokumentacijoje.

algirdas@perl.lt 2005.04.11 - $dabar