static void spooler_scandir(struct uwsgi_spooler *uspool, char *dir) { struct dirent **tasklist; int n, i; if (!dir) dir = uspool->dir; #ifdef __NetBSD__ n = scandir(dir, &tasklist, NULL, (void *)uwsgi_versionsort); #else n = scandir(dir, &tasklist, NULL, uwsgi_versionsort); #endif if (n < 0) { uwsgi_error("scandir()"); return; } for (i = 0; i < n; i++) { spooler_manage_task(uspool, dir, tasklist[i]->d_name); free(tasklist[i]); } free(tasklist); }
static void spooler_readdir(struct uwsgi_spooler *uspool, char *dir) { DIR *sdir; struct dirent *dp; if (!dir) dir = uspool->dir; sdir = opendir(dir); if (sdir) { while ((dp = readdir(sdir)) != NULL) { spooler_manage_task(uspool, dir, dp->d_name); } closedir(sdir); } else { uwsgi_error("opendir()"); } }
static void spooler_scandir(struct uwsgi_spooler *uspool, char *dir) { struct dirent **tasklist; int n; if (!dir) dir = uspool->dir; n = scandir(dir, &tasklist, 0, versionsort); if (n < 0) { uwsgi_error("scandir()"); return; } while(n--) { spooler_manage_task(uspool, dir, tasklist[n]->d_name); free(tasklist[n]); } free(tasklist); }