> 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,
>
>

Yes, it is an ugly bug. It is fixed in latest tip

(i sugegst you to work with the tip, as if you need some additional api i
can easily add it)


-- 
Roberto De Ioris
http://unbit.it
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi

Reply via email to