# 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.