Hi,
I run inotify02 test on SH based arch running LTP-2009 release. I'd like
to submit a change on the code of inotify02.c file. I propose to replace
the following code:
while (i < len) {
struct inotify_event *event;
event = (struct inotify_event *) &event_buf[i];
if (test_num >= TST_TOTAL){
................................
with:
while ((i < len)&&(test_num < TST_TOTAL)) {
struct inotify_event *event;
event = (struct inotify_event *) &event_buf[i];
if ((event_set[test_num].mask == event->mask) &&
(! strncmp( event_set[test_num].name,
event->name, event->len))) {
...............................................
The detailed change is reported in the attached patch.
In that way, we avoid to run the code within the above while loop, if
the total amount of the notified events has been reached.
Regards,
FR
This patch avoid to run the istructions within the while loop if no more events
have been collected.
Signed-off-by: Francesco Rundo <[email protected]>
--- ltp-full-20090131/testcases/kernel/syscalls/inotify/inotify02.c.origin
2009-03-02 09:16:53.110000000 +0100
+++ ltp-full-20090131/testcases/kernel/syscalls/inotify/inotify02.c
2009-03-02 09:37:04.470002000 +0100
@@ -54,7 +54,7 @@
#include "test.h"
#include "usctest.h"
-#if defined(__NR_inotify_init) && defined(HAVE_SYS_INOTIFY)
+#if defined(__NR_inotify_init) && defined(HAVE_SYS_INOTIFY_H)
#include <sys/inotify.h>
#ifndef IN_MOVE_SELF
@@ -246,24 +246,17 @@
}
- while (i < len) {
+ while ((i < len)&&(test_num < TST_TOTAL)) {
struct inotify_event *event;
event = (struct inotify_event *) &event_buf[i];
- if (test_num >= TST_TOTAL){
- tst_resm(TFAIL, "get unnecessary event: "
- "wd=%d mask=%x cookie=%u len=%u"
- "name=\"%s\"",event->wd, event->mask,
- event->cookie, event->len,
- event->name);
-
- } else if ((event_set[test_num].mask == event->mask) &&
- (! strncmp( event_set[test_num].name,
- event->name, event->len))) {
+ if ((event_set[test_num].mask == event->mask) &&
+ (! strncmp( event_set[test_num].name,
+ event->name, event->len))) {
tst_resm(TPASS, "get event: wd=%d mask=%x"
- " cookie=%u len=%u name=\"%s\"",
- event->wd, event->mask,
- event->cookie, event->len,
- event->name);
+ " cookie=%u len=%u name=\"%s\"",
+ event->wd, event->mask,
+ event->cookie, event->len,
+ event->name);
} else {
tst_resm(TFAIL, "get event: wd=%d mask=%x "
@@ -375,7 +368,7 @@
tst_resm(TCONF, "Inotify syscall can be found at kernel 2.6.13 or
higher.");
return 0;
#endif
-#ifndef HAVE_SYS_INOTIFY
+#ifndef HAVE_SYS_INOTIFY_H
tst_resm(TBROK, "can't find header sys/inotify.h");
return 1;
#endif
------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list