1From James.Stevens@jrcs.co.uk  Mon Aug 25 18:11:36 1997
2Return-Path: <James.Stevens@jrcs.co.uk>
3Received: from locke.ccil.org (snark [10.0.2.15])
4	by snark.thyrsus.com (8.8.5/8.8.5) with ESMTP id SAA10394
5	for <esr@snark.thyrsus.com>; Mon, 25 Aug 1997 18:11:34 -0400
6Received: (from slist@localhost)
7	by locke.ccil.org (8.8.5/8.8.5) id GAA17071
8	for esr; Mon, 18 Aug 1997 06:17:07 -0500 (EST)
9Resent-Date: Mon, 18 Aug 1997 06:17:07 -0500 (EST)
10X-Authentication-Warning: locke.ccil.org: slist set sender to fetchmail-friends-request@ccil.org using -f
11X-NiNLog: [James.Stevens@jrcs.co.uk] [<fetchmail-friends@locke.ccil.org>] [199708180955.KAA04988]
12Message-ID: <33F81C2D.AB822BBB@jrcs.co.uk>
13Date: Mon, 18 Aug 1997 10:55:57 +0100
14From: James Stevens <James.Stevens@jrcs.co.uk>
15Reply-To: James.Stevens@jrcs.co.uk
16Organization: JRCS Ltd
17X-Mailer: Mozilla 4.01 [en] (Win95; I)
18MIME-Version: 1.0
19To: "fetchmail-friends@locke.ccil.org" <fetchmail-friends@locke.ccil.org>
20Subject: A Little Tip...
21X-Priority: 3 (Normal)
22Content-Type: text/plain; charset=us-ascii
23Content-Transfer-Encoding: 7bit
24Resent-Message-ID: <"lhVgRB.A.FFE.bxC-z"@locke.ccil.org>
25Resent-From: fetchmail-friends@ccil.org
26X-Mailing-List: <fetchmail-friends@ccil.org> archive/latest/725
27X-Loop: fetchmail-friends@ccil.org
28Precedence: list
29Resent-Sender: fetchmail-friends-request@ccil.org
30Status: RO
31
32Seeing Eric tip us that we could run a "fetchmail -quit" in the
33"ip-down" script, I thougt it would be neat to run a fetchmail
34collection in the "ip-up" script. That way mail is collected
35automatically every time I am connecting to Internet for whatever reason
36(I use "diald" to automatically manage my connection).
37
38However, it did not work. It hung right after the POP3 login. I tracked
39this down to the fact that the "pppd" masks a wide range of signals and
40this means a time-out does not kick in. As I run the "ip-up" script in
41"bash" this masking is inheritied by "fetchmail".
42
43So, I wrote a silly little "C" program that unmasks all signals and then
44runs a command of you choice (in this case fetchmail). This is the code
45for that program :-
46
47#include <stdio.h>
48#include <signal.h>
49
50main(int argc,char * argv[])
51{
52sigset_t set;
53
54    if (argc>1)
55        {
56        sigfillset(&set);
57        sigprocmask(SIG_UNBLOCK,&set,NULL);
58        system(argv[1]);
59        }
60}
61
62I call it "allsigs". So, now in my "ip-up" I have the line :-
63
64allsigs "fetchmail -f /etc/fetahmail"
65
66Note the quotes as "allsigs" only looks at argv[1]. I guess this
67unmasking of all signals could be added into "fetchmail" ?
68
69James
70
71