Hello,

I've asked this question in the modwsgi group but it seems that it is
more likely to do with Werkzeug. I hope this kind of cross-posting is
not frowned upon.

>> I am using Werkzeug as a framework, and want to upload files of up to
>> 300MB size. It all works well, but if the user wants to cancel his
>> upload, and thus clicks the cancel button, reloads the page or closes
>> the tab, an apache thread maxes out at 100% CPU and doesn't seem to
>> stop until killed.
>> This seems to happen regardless whether a simple form, an iframe or
>> middleware is used, as long as modwsgi is involved, leading me to look
>> into this direction. I tried to find out what the apache thread is
>> doing while maxing out, but no luck so far. My best guess is that the
>> "chunk saving loop" that must be used to build the temp file from
>> chunks is waiting for more data.
>> Has anybody experienced something similar, and can point me in the
>> right direction? I'd be happy to add more info if needed.
>>
>
> I would say that the loop, rather than waiting for more data, is
> actually reading it but getting back empty string instead rather than
> a read failure exception.
> The latest Werkzeug code tries to be WSGI 1.0 compliant and not rely
> on the end sentinel and instead keep reading until it gets all the
> data it expects. Thinking about it, this shows that WSGI 1.0 is
> perhaps flawed in not requiring an empty string as end sentinel to be
> mandatory because possibly can't guarantee that exception will be
> raised if socket closed early.
> Even if the Werkzeug code tries to rely on content length only, seems
> like it should also still try and deal with where an empty string is
> returned prior to content length being read.

So I guess it boils down to the parse_multipart function in
formparser.py in werkzeug. But to be honest I don't quite see what to
change there. Any ideas?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pocoo-libs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/pocoo-libs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to