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

In reply to named pipe and "Text file busy" by finpro

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.