Re: Flat search and threaded views
[notmuch-archives.git] / 38 / 83c7f1d4d9e805eb990a4faa48d17e91ea02e1
1 Return-Path: <tomi.ollila@nixu.com>\r
2 X-Original-To: notmuch@notmuchmail.org\r
3 Delivered-To: notmuch@notmuchmail.org\r
4 Received: from localhost (localhost [127.0.0.1])\r
5         by olra.theworths.org (Postfix) with ESMTP id A5895429E26\r
6         for <notmuch@notmuchmail.org>; Mon, 12 Dec 2011 06:57:28 -0800 (PST)\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
8 X-Spam-Flag: NO\r
9 X-Spam-Score: 0\r
10 X-Spam-Level: \r
11 X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none]\r
12         autolearn=disabled\r
13 Received: from olra.theworths.org ([127.0.0.1])\r
14         by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
15         with ESMTP id 7gXfyHGNQW0i for <notmuch@notmuchmail.org>;\r
16         Mon, 12 Dec 2011 06:57:28 -0800 (PST)\r
17 Received: from mail-gw3.nixu.fi (mail-gw3.nixu.fi [193.209.237.7])\r
18         (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))\r
19         (No client certificate requested)\r
20         by olra.theworths.org (Postfix) with ESMTPS id AD64F429E25\r
21         for <notmuch@notmuchmail.org>; Mon, 12 Dec 2011 06:57:27 -0800 (PST)\r
22 Received: from pps.filterd (mail-gw3 [127.0.0.1])\r
23         by mail-gw3.nixu.fi (8.14.4/8.14.4) with SMTP id pBCEuBH0012313\r
24         for <notmuch@notmuchmail.org>; Mon, 12 Dec 2011 16:57:23 +0200\r
25 Received: from taco2.nixu.fi (taco2.nixu.fi [194.197.118.31])\r
26         by mail-gw3.nixu.fi with ESMTP id 114cs0suua-1\r
27         (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NOT)\r
28         for <notmuch@notmuchmail.org>; Mon, 12 Dec 2011 16:57:23 +0200\r
29 Received: from taco2.nixu.fi (taco2.nixu.fi [194.197.118.31])\r
30         by taco2.nixu.fi (8.14.3/8.14.3/Debian-5+lenny1) with ESMTP id\r
31         pBCEvLvd024581\r
32         for <notmuch@notmuchmail.org>; Mon, 12 Dec 2011 16:57:22 +0200\r
33 From: Tomi Ollila <tomi.ollila@iki.fi>\r
34 To: <notmuch@notmuchmail.org>\r
35 Subject: [PATCH] test/smtp-dummy: add --background option for backgrounding\r
36         after listen(2)\r
37 User-Agent: Notmuch/0.10.2+93~g631d290 (http://notmuchmail.org) Emacs/23.3.1\r
38         (i686-pc-linux-gnu)\r
39 X-Face: HhBM'cA~<r"^Xv\KRN0P{vn'Y"Kd;zg_y3S[4)KSN~s?O\"QPoL\r
40         $[Xv_BD:i/F$WiEWax}R(MPS`^UaptOGD`*/=@\1lKoVa9tnrg0TW?"r7aRtgk[F\r
41         !)g;OY^,BjTbr)Np:%c_o'jj,Z\r
42 Date: Mon, 12 Dec 2011 16:57:21 +0200\r
43 Message-ID: <yf6obvdn8ha.fsf@taco2.nixu.fi>\r
44 MIME-Version: 1.0\r
45 Content-Type: text/plain; charset=us-ascii\r
46 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.5.7110,\r
47  1.0.211,       0.0.0000        definitions=2011-12-12_02:2011-12-12, 2011-12-12,\r
48         1970-01-01 signatures=0\r
49 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0\r
50         ipscore=0 suspectscore=1\r
51         phishscore=0 bulkscore=0 adultscore=0 classifier=spam adjust=0\r
52         reason=mlx\r
53         scancount=1 engine=6.0.2-1012030000 definitions=main-1112120114\r
54 X-BeenThere: notmuch@notmuchmail.org\r
55 X-Mailman-Version: 2.1.13\r
56 Precedence: list\r
57 List-Id: "Use and development of the notmuch mail system."\r
58         <notmuch.notmuchmail.org>\r
59 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
60         <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
61 List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
62 List-Post: <mailto:notmuch@notmuchmail.org>\r
63 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
64 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
65         <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
66 X-List-Received-Date: Mon, 12 Dec 2011 14:57:28 -0000\r
67 \r
68 To avoid the possibility that smtp-dummy doesn't have chance to listen\r
69 its bound socket until something tries to send message to it this\r
70 option can be used for caller to wait until socket is already listening\r
71 for a connection.\r
72 ---\r
73 \r
74 When test_require_external_prereq() is changed to use associative\r
75 array to check whether prereq is missing bash script is often \r
76 so fast that it already waiting for smtp-dummy to exit until\r
77 socket is listening. i.e sending QUIT to 127.0.0.1:25025 fails\r
78 since there is no listener. (fork(2) & execve(2) count goes to zero\r
79 in test_require_external_prereq (from 3 fork()s, 2 execve()s).\r
80 \r
81  test/smtp-dummy.c |   28 +++++++++++++++++++++++++++-\r
82  1 files changed, 27 insertions(+), 1 deletions(-)\r
83 \r
84 diff --git a/test/smtp-dummy.c b/test/smtp-dummy.c\r
85 index 3801a5e..40196dd 100644\r
86 --- a/test/smtp-dummy.c\r
87 +++ b/test/smtp-dummy.c\r
88 @@ -124,9 +124,21 @@ main (int argc, char *argv[])\r
89         struct hostent *hostinfo;\r
90         socklen_t peer_addr_len;\r
91         int reuse;\r
92 +       int bg;\r
93 +\r
94 +       /* XXX quick implementation -- fix if more functionality is desired. */\r
95 +       if (argc >= 2 && strcmp(argv[1], "--background") == 0) {\r
96 +               argc--;\r
97 +               argv[1] = argv[0];\r
98 +               argv++;\r
99 +               bg = 1;\r
100 +       }\r
101 +       else\r
102 +               bg = 0;\r
103  \r
104         if (argc != 2) {\r
105 -               fprintf (stderr, "Usage: %s <output-file>\n", argv[0]);\r
106 +               fprintf (stderr, "Usage: %s [--background] <output-file>\n",\r
107 +                        argv[0]);\r
108                 return 1;\r
109         }\r
110  \r
111 @@ -179,6 +191,20 @@ main (int argc, char *argv[])\r
112                 return 1;\r
113         }\r
114  \r
115 +       if (bg) {\r
116 +           switch (fork ()) {\r
117 +           case 0:\r
118 +               break;\r
119 +           case -1:\r
120 +               fprintf (stderr, "Error: fork() failed: %s\n",\r
121 +                        strerror (errno));\r
122 +               close (sock);\r
123 +               return 1;\r
124 +           default:\r
125 +               return 0;\r
126 +           }\r
127 +       }\r
128 +\r
129         peer_addr_len = sizeof (peer_addr);\r
130         peer = accept (sock, (struct sockaddr *) &peer_addr, &peer_addr_len);\r
131         if (peer == -1) {\r
132 -- \r
133 1.7.7.3\r
134 \r