# What
I would use two Polipo instances, both using the same disk cache.

# Why
One passes connections through directly, the other through TOR.

# Conclusion
Make Polipo use locking when creating new cache files.
Make Polipo use locking if changing cache files in-place.

# More in-depth
The documentation says
1. Modifying files in-place is not allowed
2. Only safe file operations on the cache are file delete, file rename, and 
atomically adding new
files by "exclusive open".

Seems that the only thing "Exclusive open" does, is fail if the file already 
existed.
Source: http://linux.die.net/man/3/open_excl and http://linux.die.net/man/2/open

Which leaves two "bugs"
1. Documentation incorrectly states that new cache files can be created with 
"exclusive open", while
in reality without cooperative locking on part of Polipo and the process 
creating the new file,
there could be race conditions.
2. Documentation doesn't state how Polipo itself creates (or modifies) cache 
files. Does it
use locking? Does it create a temporary file and then rename it?

Sorry if I missed something, but this is my take on the problem.

------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
Polipo-users mailing list
Polipo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/polipo-users

Reply via email to