Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
0
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()");
    }
}
Ejemplo n.º 3
0
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);
}