Hi Monks,
I’ve got a script which runs on linux and spawns a thread which opens a FIFO pipe in read only mode. I use a different program to write data to FIFO (written in c or it can be simple echo command).
Works like a charm, however once I exit the script (via CTRL-C) and restart it, the pipe becomes unusable for writing (i.e. no program is able to open it for writing – they get back en error message: errno 26 “Text file busy”). I need to create another FIFO in order for me use the script again.
Internally I catch CTRL-C signal and close the FIFO explicitly.
What’s wrong? Is it because I have 2 threads running i.e. one does some other processing and the second one is responsible for the pipe?? What’s the correct and clean way to exit from multithreaded program in Perl?
Or is it another issue? Any help or ideas would be greatly appreciated.
Thanks,finpro