With async == 1 the unused async queue is not allocated,
which makes find_first_available_wsgi_req() crash, I was
relying on it to have a predictable way to dispatch requests.

then looking at core/uwsgi.c there is this:

// fill it with default values
for (i = 0; i < uwsgi.async; i++) {
     uwsgi.async_queue_unused[i] = &uwsgi.workers[uwsgi.mywid].cores[i].req;
}

and this:

for (i = 0; i < uwsgi.cores; i++) {
    memset(&uwsgi.workers[uwsgi.mywid].cores[i].req, 0, sizeof(struct
wsgi_request));
    uwsgi.workers[uwsgi.mywid].cores[i].req.async_id = i;
}

If I run --async 10 and --threads 2 then uwsgi.cores is 2
and I wonder why the former loop doesn't crash.

it would be interesting if cores were always async * threads.

best,

-- 
Daniel Nicoletti

KDE Developer - http://dantti.wordpress.com
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi

Reply via email to