Hi,
Continuing on with my example plugin from before...
I am sending data to the spooler using spool_request(uspool,
spool_filename, uwsgi.workers[0].requests + 1, wsgi_req->async_id,
wsgi_req->buffer, wsgi_req->uh.pktsize, NULL, 0, body, body_len)
The spool file looks "ok" to me, etc.
* I am using uwsgi 1.0.2.1
* The double free happens on line 424 of spooler.c
* I am assuming I have 1 spooler running -- I am assuming the 3 uwsgi
processes are: master, worker, spooler
If I add the typical body = NULL; after the free, I of course, don't
get a double free.
After printing out the values for that loop, I found that
uwsgi.p[i]->spooler is true for i = 0 and 250. Maybe I should change
the modifier1 for my plugin to 0 rather than use 250 as the modifier1
in the plugin and then map it to 0 on startup?
*** config output from uwsgi ***
;uWSGI instance configuration
[uwsgi]
zeromq = tcp://192.168.0.5:9905,tcp://192.168.0.5:9904
plugins = example
master = true
spooler = ./myspool
show-config = 1
remap-modifier = 250:0
;end of configuration
*** struct used in my example plugin ****
struct uwsgi_plugin example_plugin = {
.name = "example",
.modifier1 = 250,
.init = uwsgi_example_init,
.request = uwsgi_example_request,
.after_request = uwsgi_example_after_request,
.spooler = uwsgi_example_spooler,
};
Thanks,
Jeff Van Voorst
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi