[OpenSIPS-Users] FIFO very fragile
vladpaiu at opensips.org
Wed May 11 16:31:47 CEST 2011
Yes, there is no need to restart. The fifo engine attempts to flush any
extra bogus characters whenever an error occurs, but it blocking
attempts to clear them until it encounters a carriage return.
Just push an extra carriage return to the fifo and that should clear out
the previous empty command and make it accept new MI requests again.
On 05/11/2011 04:58 PM, Brett Nemeroff wrote:
> On Wed, May 11, 2011 at 8:51 AM, Vlad Paiu <vladpaiu at opensips.org
> <mailto:vladpaiu at opensips.org>> wrote:
> Hello Brett,
> A well formed MI command should end with two '\n\n' characters.
> When you do
> echo -e ":address_dump:my_fifo\n\n"
> ,your MI command ends with three '\n', because echo adds an extra
> \n at the end, unless you use the -n parameter.
> So what happens is that OpenSIPS successfully processes your
> address_dump MI command, and then reads the third \n.
> It treats it as an empty MI command, and attempts to block and
> read the second \n signaling the end of the MI command, and there
> it gets stuck.
> Thanks for this explaination, that makes a *lot* of sense. However, I
> feel like sending "crap" to the fifo shouldn't break it, right? At
> least, it should eventually clear itself out or reset itself without
> requiring a restart. Right? If I had sent it just one more carriage
> return, do you think it would clear it out?
> Users mailing list
> Users at lists.opensips.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Users