aboutsummaryrefslogtreecommitdiffstats
path: root/design-notes.html
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>1997-09-29 15:36:26 +0000
committerEric S. Raymond <esr@thyrsus.com>1997-09-29 15:36:26 +0000
commited123baa1bd00437f8db4a8849ee206c79963545 (patch)
tree3b1878e3973482e3021e9dd2c5b93700a5de41cd /design-notes.html
parent07456fdffe3c4d10016b7f33b9c23666bb8e6b8c (diff)
downloadfetchmail-ed123baa1bd00437f8db4a8849ee206c79963545.tar.gz
fetchmail-ed123baa1bd00437f8db4a8849ee206c79963545.tar.bz2
fetchmail-ed123baa1bd00437f8db4a8849ee206c79963545.zip
Added a won't-do-it note.
svn path=/trunk/; revision=1433
Diffstat (limited to 'design-notes.html')
-rw-r--r--design-notes.html25
1 files changed, 22 insertions, 3 deletions
diff --git a/design-notes.html b/design-notes.html
index d0c8549e..1d3f478d 100644
--- a/design-notes.html
+++ b/design-notes.html
@@ -10,7 +10,7 @@
<table width="100%" cellpadding=0><tr>
<td width="30%">Back to <a href="index.html">Fetchmail Home Page</a>
<td width="30%" align=center>To <a href="/~esr/sitemap.html">Site Map</a>
-<td width="30%" align=right>$Date: 1997/08/05 04:14:49 $
+<td width="30%" align=right>$Date: 1997/09/29 15:36:26 $
</table>
<HR>
<H1 ALIGN=CENTER>Design Notes On Fetchmail</H1>
@@ -171,7 +171,7 @@ necessary decoder out of the fetchmail code itself to get it.<P>
All .fetchmailrc encryption would do is give a false sense of
security to people who don't think very hard.<P>
-<H2>2. Truly concurrent queries to multiple hosts</H2>
+<H2>Truly concurrent queries to multiple hosts</H2>
Occasionally I get a request for this on "efficiency" grounds. These
people aren't thinking either. True concurrency would do nothing to lessen
@@ -188,6 +188,25 @@ Fortunately, I've only seldom seen a server that incurred significant
wait time on an individual response. I judge the gain from this not
worth the hideous complexity increase it would require in the code.<P>
+<H2>Multiple concurrent instances of fetchmail</H1>
+
+What would be required for this is a per-host semaphore asserted
+during each poll.<P>
+
+The fundamental problem here is how an instance of fetchmail polling
+host foo can assert that it's doing so in a way visible to all other
+fetchmails. System V semaphores would be ideal for this purpose, but
+they're not portable.<P>
+
+I've thought about this a lot and roughed up several designs. All are
+complicated and fragile, with a bunch of the standard problems (what
+happens if a fetchmail aborts before clearing its semaphore, and how
+do we recover reliably?)<P>.
+
+I'm not satisfied that there's enough functional gain here to pay
+for the large increase in complexity that adding these semaphores
+would entail.<P>
+
<H1>Multidrop and alias handling</H1>
I decided to add the multidrop support partly because some users were
@@ -383,7 +402,7 @@ all shaped the design in one way or another.<P>
<table width="100%" cellpadding=0><tr>
<td width="30%">Back to <a href="index.html">Fetchmail Home Page</a>
<td width="30%" align=center>To <a href="/~esr/sitemap.html">Site Map</a>
-<td width="30%" align=right>$Date: 1997/08/05 04:14:49 $
+<td width="30%" align=right>$Date: 1997/09/29 15:36:26 $
</table>
<P><ADDRESS>Eric S. Raymond <A HREF="mailto:esr@thyrsus.com">&lt;esr@snark.thyrsus.com&gt;</A></ADDRESS>