- Fix: avoid infinite loop on mulitcast read thread if no data to read

Pre-ci test passed

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4000 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
Cedric Roux
2013-06-25 09:05:02 +00:00
commit 56c66c09aa
4111 changed files with 2133103 additions and 0 deletions
+86
View File
@@ -0,0 +1,86 @@
#! /usr/bin/octave -qf
# OTGPlot
# Check the octave version
ver=version;
octave3 = str2num(ver(1))>=3;
octave32 = str2num(ver(3))>=2;
graphicformat="epsc2";
extension="eps";
arg_list = argv ();
if nargin>0
inputf=arg_list{1};
else
printf("%s\n","Input file name missing, exiting...");
return;
endif
if (f=fopen(inputf,"r"))<0
printf("%s%s%s\n","File ",inputf," does not exist, exiting...");
return;
endif
if size(s=getenv("TITLE"))
title(s);
endif
# read labels
labels=blanks(0);
fscanf(f,"%s",1); # we do not need the first string (Time)
while !strcmp(s=fscanf(f,"%s",1),"Aggregated")
labels=[labels; strcat("-@;",s,";") ];
endwhile
labels=[labels; strcat("-@;",s,";") ]; # add the last string (Aggregate-Flow)
if nargin>1
mask=intersection(str2num(arg_list{2}),1:size(labels,1));
else
mask=1:size(labels,1);
endif
if !size(mask)
printf("%s\n","No flow selected to be plotted");
return;
endif
# read data
data=fscanf(f,"%f",[size(labels,1)+1,Inf])';
temp=split(strrep(inputf,"\\","/"),"/");
outputf=split(deblank(temp(size(temp,1),:)),".");
ylbl=outputf(1,:);
ylbl(1,1)=toupper(ylbl(1,1));
ylabel(ylbl);
xlabel("Time (ms)");
plot(data(:,1), data(:,mask+1), labels(mask,:));
# Only for Octave 3.0
if octave3
if size(s=getenv("TITLE"))
title(s);
endif
nlabels=blanks(0);
for i=1:size(labels,1)
nlabels=[nlabels; labels(i,:)(strfind(labels(i,:),";")(1)+1:strfind(labels(i,:),";")(2)-1)];
endfor
legend(nlabels(mask,:));
legend("boxon");
ylabel(ylbl);
xlabel("Time (ms)");
endif
if octave32
eval(cstrcat("print -d",graphicformat," ",ylbl,".",extension));
else
eval(strcat("print -d",graphicformat," ",ylbl,".",extension));
endif
printf("%s\n","Done!");