tools: Allow patlooptest to activate and handle buffer events

The new buffer events code introduced in revision 9905 gives userspace
processes an interface to activate detection of buffer over and underflows.
This change allows patlooptest to take advantage of that feature to better
inform users of the cause of pattern errors.

Acked-by: Shaun Ruffell <sruffell@digium.com>
(original patch by Matt Fredrickson)


git-svn-id: http://svn.astersk.org/svn/dahdi/tools/trunk@9909 17933a7a-c749-41c5-a318-cba88f637d49
This commit is contained in:
Kinsey Moore 2011-04-18 21:20:10 +00:00
parent ad02c5b314
commit 4c177ef39c
1 changed files with 12 additions and 6 deletions

View File

@ -208,12 +208,13 @@ int main(int argc, char *argv[])
outbuf[x] = c1++;
}
write_again:
res = write(fd,outbuf,bs);
if (res != bs) {
printf("Res is %d: %s\n", res, strerror(errno));
ioctl(fd, DAHDI_GETEVENT, &x);
printf("Event: %d\n", x);
exit(1);
printf("W: Res is %d: %s\n", res, strerror(errno));
ioctl(fd, DAHDI_GETEVENT, &x);
printf("Event: %d\n", x);
goto write_again;
}
/* If this is the start of the test then skip a number of packets before test results */
@ -225,13 +226,18 @@ int main(int argc, char *argv[])
if (!skipcount) {
printf("Going for it...\n");
}
i = 1;
ioctl(fd,DAHDI_BUFFER_EVENTS, &i);
continue;
}
read_again:
res = read(fd, inbuf, bs);
if (res < bs) {
printf("read error: returned %d\n", res);
exit(1);
printf("R: Res is %d\n", res);
ioctl(fd, DAHDI_GETEVENT, &x);
printf("Event: %d\n", x);
goto read_again;
}
/* If first time through, set byte that is used to test further bytes */
if (!setup) {