fd = sys_perf_event_open(&attr, 0, -1, -1, 0);
        if (fd < 0) {
-               die("Error: sys_perf_event_open() syscall returned "
-                   "with %d (%s)\n", fd, strerror(errno));
+               pr_debug("Error: sys_perf_event_open() syscall returned "
+                        "with %d (%s)\n", fd, strerror(errno));
+               return -1;
        }
 
        addr = mmap(NULL, page_size, PROT_READ, MAP_SHARED, fd, 0);
        if (addr == (void *)(-1)) {
-               die("Error: mmap() syscall returned "
-                   "with (%s)\n", strerror(errno));
+               pr_debug("Error: mmap() syscall returned with (%s)\n",
+                        strerror(errno));
+               goto out_close;
        }
 
        for (n = 0; n < 6; n++) {
        }
 
        munmap(addr, page_size);
-       close(fd);
-
        pr_debug("   ");
+out_close:
+       close(fd);
 
        if (!delta_sum)
                return -1;