Adott egy Solaris 10, futna rajta egy többszálú perl script. A feladatnak része hogy a szálaknak más külső programokat kell futtatniuk.
Egy ideig fut is gond nélkül aztán segmentation fault.
Rá kellett jöjjek, hogy az open3, system függvények forkolnak, az meg nem thread safe.
Röviden a kérdés: perl alatt lehetséges-e bármilyen módon többszálú programból külső programot hívni ... Nem kell visszatérési érték, nem kell in,out,err. csak az hogy blokkoljon (a külső progi lefutása után térjen vissza).
Elméletileg (pl c-ben ez lehetséges -> a popen threadsafe).
Amivel már próbálkoztam:
- popen external modulban
- sima open pipeolva
- open, open3 rész lock-olása (egyszerre csak 1 szál hajthatja végre)
és még sok kétségbeesett marhaság...
Tud valaki megoldást ?
- 910 megtekintés