Merge "Instead of caputre the memory footprint before and after the test. We would like to monitor the memory trend while the test is running. This can eliminate the overhead for the frist test case in creating the player." into eclair
diff --git a/libs/ui/EventHub.cpp b/libs/ui/EventHub.cpp
index e39a357..4aac455 100644
--- a/libs/ui/EventHub.cpp
+++ b/libs/ui/EventHub.cpp
@@ -489,6 +489,7 @@
 {
     int version;
     int fd;
+    int attempt;
     struct pollfd *new_mFDs;
     device_t **new_devices;
     char **new_device_names;
@@ -500,12 +501,17 @@
     LOGV("Opening device: %s", deviceName);
 
     AutoMutex _l(mLock);
-    
-    fd = open(deviceName, O_RDWR);
+
+    for (attempt = 0; attempt < 10; attempt++) {
+        fd = open(deviceName, O_RDWR);
+        if (fd >= 0) break;
+        usleep(100);
+    }
     if(fd < 0) {
         LOGE("could not open %s, %s\n", deviceName, strerror(errno));
         return -1;
     }
+    LOGV("Opened device: %s (%d failures)", deviceName, attempt);
 
     if(ioctl(fd, EVIOCGVERSION, &version)) {
         LOGE("could not get driver version for %s, %s\n", deviceName, strerror(errno));