mq_notify: block all (application) signals in the worker thread
[musl] / src / dirent / readdir_r.c
index 58f6032..0d5de5f 100644 (file)
@@ -1,30 +1,27 @@
 #include <dirent.h>
 #include <errno.h>
-#include <stdlib.h>
 #include <string.h>
 #include "__dirent.h"
-#include "libc.h"
+#include "lock.h"
 
-int readdir_r(DIR *dir, struct dirent *buf, struct dirent **result)
+int readdir_r(DIR *restrict dir, struct dirent *restrict buf, struct dirent **restrict result)
 {
        struct dirent *de;
        int errno_save = errno;
        int ret;
        
-       LOCK(&dir->lock);
+       LOCK(dir->lock);
        errno = 0;
        de = readdir(dir);
        if ((ret = errno)) {
-               UNLOCK(&dir->lock);
+               UNLOCK(dir->lock);
                return ret;
        }
        errno = errno_save;
        if (de) memcpy(buf, de, de->d_reclen);
        else buf = NULL;
 
-       UNLOCK(&dir->lock);
+       UNLOCK(dir->lock);
        *result = buf;
        return 0;
 }
-
-LFS64_2(readdir_r, readdir64_r);