Span.pm: Process the /proc/dahdi/<x> files atomically.
authorShaun Ruffell <sruffell@digium.com>
Tue, 12 Jul 2011 23:01:02 +0000 (23:01 +0000)
committerShaun Ruffell <sruffell@digium.com>
Tue, 12 Jul 2011 23:01:02 +0000 (23:01 +0000)
commitcaa8c947b72b3ef8b08de54bd404e66612baf1c9
tree61afa39e88d6a4b9379aedcbaf4e827d55adbda1
parentb4aa63049f2f1e7b2593c9db5471702d07d6f837
Span.pm: Process the /proc/dahdi/<x> files atomically.

It is possible that the contents of the proc files can change while the
perl modules are in the processing of processing them.

Specifically, if lsdahdi is called on boot before the channels are
configured, the channel will be "probed" to determine if it's an FXO or
FXS channel and that can result in the output of proc changing. When the
size of proc changes, the script can get confused about where the
beginning of the next line is.

This patch reads in the proc file completely into memory first, and then
starts processing each of the lines.

This resolves the "Unrecognized garbage 'INACTIVE)' in -" that is
displayed on boot with the recent trunk of DAHDI.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

git-svn-id: http://svn.astersk.org/svn/dahdi/tools/trunk@10040 17933a7a-c749-41c5-a318-cba88f637d49
xpp/perl_modules/Dahdi/Span.pm