codegooglecom / libproxy

Automatically exported from code.google.com/p/libproxy
GNU Lesser General Public License v2.1
0 stars 0 forks source link

pacrunner_mozjs is not thread-safe #201

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
pacrunner_mozjs is not thread-safe. In particular, just destroying a 
pacrunner_mozjs in a thread other than the one it was created in will result in 
an abort in JS_AbortIfWrongThread. And every pacrunner is destroyed on the next 
call after being created, since extension_pacrunner is broken (it checks if pac 
== last, but it never sets last, so the test always fails and the previous 
pacrunner is always destroyed)

Given that the pacrunner caching wasn't working anyway, the simplest fix is to 
just get rid of it, and have pacrunner_extension not cache the pacrunner, and 
have proxy.cpp just delete it itself after using it.

Original issue reported on code.google.com by dan.wins...@gmail.com on 11 Nov 2013 at 9:48

Attachments: