-
Notifications
You must be signed in to change notification settings - Fork 0
/
8c53cd40a3329d682a905decb1f8734fa1ba2e9a-big-concurrency.log
249 lines (249 loc) · 10.2 KB
/
8c53cd40a3329d682a905decb1f8734fa1ba2e9a-big-concurrency.log
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
rm -rf notqmail-8c53cd40a3329d682a905decb1f8734fa1ba2e9a-big-concurrency
git -C notqmail.git fetch origin 8c53cd40a3329d682a905decb1f8734fa1ba2e9a
From https://github.com/notqmail/notqmail
* branch 8c53cd40a3329d682a905decb1f8734fa1ba2e9a -> FETCH_HEAD
git -C notqmail.git archive --prefix=notqmail-8c53cd40a3329d682a905decb1f8734fa1ba2e9a-big-concurrency/ 8c53cd40a3329d682a905decb1f8734fa1ba2e9a | tar xf -
cd notqmail-8c53cd40a3329d682a905decb1f8734fa1ba2e9a-big-concurrency; patch -f -p 1 <../patch/big-concurrency.patch
Hmm... Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|From: "Johannes Erdfelt" <jerdfelt@suse.com>
|To: qmail@list.cr.yp.to
|Subject: Re: mail volume
|Date: 4 Aug 1999 20:41:00 -0700
|Mime-Version: 1.0
|Content-Type: multipart/mixed; boundary=7AUc2qLy4jB3hD7Z
|
|--7AUc2qLy4jB3hD7Z
|Content-Type: text/plain; charset=us-ascii
|
|On Thu, Aug 05, 1999, richard@illuin.demon.co.uk <richard@illuin.demon.co.uk> wrote:
|> On Wed, 4 Aug 1999, Daemeon Reiydelle wrote:
|>
|> > (2.6 or later). There may be limitations within e.g. qmail-[lr]spawn
|> > about how many children it can manage. I am not working with that code
|> > right know so I don't know. Anyone?
|>
|> This is what people have been trying to say -- the protocol between
|> qmail-Xspawn and qmail-send only passes a single byte for the delivery
|> attempt back in the status messages. if you want to increase the maximum
|> number above 256 one has to modify qmail-send and the common code in
|> qmail-Xspawn. making it a short should allow up to 2**16 concurrency
|> remotes.
|>
|> **CAUTION** if you do this one should realise that qmail-send might try to
|> open 64K connections to the /same/ host because it doesn't maintain a
|> per-domain concurrency. this is distinctly Unfriendly. I produced some
|> code for qmail to do this, but when I asked my ISP if i could open >>1024
|> connections to one of their mail relays for testing they were less than
|> enthusiastic... (the code is on my desktop system somewhere between here
|> and Austin where I'm moving to next week, so I can't email it, and without
|> testing it I won't email it. the changes to up the concurrency are fairly
|> straightforward, the once for a per-domain concurrency are non-trivial)
|
|This is the patch that I use at suse.com. We do almost 1 million
|messages a day with this patch and concurrencyremote set to 400.
|
|This patch comes with the standard disclaimer. No warranty, it may not
|work, etc. But it works for me :)
|
|It's also not pretty. It's against qmail-1.03+verh-0.02 (the ezmlm patch
|l and h patch). So the offsets may be off a little bit.
|
|JE
|
|
|--7AUc2qLy4jB3hD7Z
|Content-Type: text/plain; charset=us-ascii
|Content-Disposition: attachment; filename="qmail-bigrem.patch"
|
|diff -u qmail-1.03.orig/chkspawn.c qmail-1.03/chkspawn.c
|--- qmail-1.03.orig/chkspawn.c Mon Jun 15 03:53:16 1998
|+++ qmail-1.03/chkspawn.c Wed Aug 4 20:33:22 1999
--------------------------
Patching file chkspawn.c using Plan A...
Hunk #1 succeeded at 21 with fuzz 2 (offset -1 lines).
Hmm... The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -u qmail-1.03.orig/conf-spawn qmail-1.03/conf-spawn
|--- qmail-1.03.orig/conf-spawn Mon Jun 15 03:53:16 1998
|+++ qmail-1.03/conf-spawn Tue Jul 27 13:32:30 1999
--------------------------
Patching file conf-spawn using Plan A...
Hunk #1 succeeded at 1.
Hmm... The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -u qmail-1.03.orig/qmail-send.c qmail-1.03/qmail-send.c
|--- qmail-1.03.orig/qmail-send.c Mon Jun 15 03:53:16 1998
|+++ qmail-1.03/qmail-send.c Wed Aug 4 20:37:23 1999
--------------------------
Patching file qmail-send.c using Plan A...
Hunk #1 succeeded at 260 (offset -2 lines).
Hunk #2 succeeded at 906 (offset -2 lines).
Hunk #3 succeeded at 1545 (offset -2 lines).
Hunk #4 succeeded at 1553 (offset -2 lines).
Hmm... The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -u qmail-1.03.orig/spawn.c qmail-1.03/spawn.c
|--- qmail-1.03.orig/spawn.c Mon Jun 15 03:53:16 1998
|+++ qmail-1.03/spawn.c Tue Jul 27 12:25:14 1999
--------------------------
Patching file spawn.c using Plan A...
Hunk #1 succeeded at 63.
Hunk #2 succeeded at 73.
Hunk #3 succeeded at 156.
Hunk #4 succeeded at 203 (offset -2 lines).
Hunk #5 succeeded at 239 (offset -2 lines).
Hmm... Ignoring the trailing garbage.
done
make -C notqmail-8c53cd40a3329d682a905decb1f8734fa1ba2e9a-big-concurrency it
( cat warn-auto.sh; echo CC=\'`head -n 1 conf-cc`\'; echo LD=\'`head -n 1 conf-ld`\' ) > auto-ccld.sh
cat auto-ccld.sh make-load.sh > make-load
chmod 755 make-load
( cat warn-auto.sh; ./make-load ) > load
chmod 755 load
cat auto-ccld.sh make-compile.sh > make-compile
chmod 755 make-compile
( cat warn-auto.sh; ./make-compile ) > compile
chmod 755 compile
./compile qmail-local.c
./compile qmail.c
( ( ./compile chkbiofl.c && ./load chkbiofl && ./chkbiofl ) >/dev/null 2>&1 && cat oflops_bi.h || cat oflops_compat.h ) > oflops.h
rm -f chkbiofl.o chkbiofl
./compile quote.c
./compile gfrom.c
./compile myctime.c
./compile slurpclose.c
cat auto-ccld.sh make-makelib.sh > make-makelib
chmod 755 make-makelib
( cat warn-auto.sh; ./make-makelib ) > makelib
chmod 755 makelib
./compile case_diffb.c
./compile case_diffs.c
./compile case_lowerb.c
./compile case_lowers.c
./compile case_starts.c
./makelib case.a case_diffb.o case_diffs.o case_lowerb.o case_lowers.o case_starts.o
./compile getln.c
./compile getln2.c
./makelib getln.a getln.o getln2.o
./compile subgetopt.c
./compile sgetopt.c
./makelib getopt.a subgetopt.o sgetopt.o
./compile sig_alarm.c
( ( ./compile trysgprm.c && ./load trysgprm ) >/dev/null 2>&1 && echo \#define HASSIGPROCMASK 1 || exit 0 ) > hassgprm.h
rm -f trysgprm.o trysgprm
./compile sig_block.c
( ( ./compile trysgact.c && ./load trysgact ) >/dev/null 2>&1 && echo \#define HASSIGACTION 1 || exit 0 ) > hassgact.h
rm -f trysgact.o trysgact
./compile sig_catch.c
./compile sig_pause.c
./compile sig_pipe.c
./compile sig_child.c
./compile sig_hup.c
./compile sig_term.c
./compile sig_bug.c
./compile sig_misc.c
./makelib sig.a sig_alarm.o sig_block.o sig_catch.o sig_pause.o sig_pipe.o sig_child.o sig_hup.o sig_term.o sig_bug.o sig_misc.o
./compile open_append.c
./compile open_excl.c
./compile open_read.c
./compile open_trunc.c
./compile open_write.c
./makelib open.a open_append.o open_excl.o open_read.o open_trunc.o open_write.o
( ( ./compile tryflock.c && ./load tryflock ) >/dev/null 2>&1 && echo \#define HASFLOCK 1 || exit 0 ) > hasflock.h
rm -f tryflock.o tryflock
./compile lock_ex.c
./compile lock_exnb.c
./compile lock_un.c
./makelib lock.a lock_ex.o lock_exnb.o lock_un.o
./compile fd_copy.c
./compile fd_move.c
./makelib fd.a fd_copy.o fd_move.o
( ( ./compile trywaitp.c && ./load trywaitp ) >/dev/null 2>&1 && echo \#define HASWAITPID 1 || exit 0 ) > haswaitp.h
rm -f trywaitp.o trywaitp
./compile wait_pid.c
./compile wait_nohang.c
./makelib wait.a wait_pid.o wait_nohang.o
./compile env.c
./compile envread.c
./makelib env.a env.o envread.o
./compile stralloc_eady.c
./compile stralloc_pend.c
./compile stralloc_copy.c
./compile stralloc_opys.c
./compile stralloc_opyb.c
./compile stralloc_cat.c
./compile stralloc_cats.c
./compile stralloc_catb.c
./compile stralloc_arts.c
./makelib stralloc.a stralloc_eady.o stralloc_pend.o stralloc_copy.o stralloc_opys.o stralloc_opyb.o stralloc_cat.o stralloc_cats.o stralloc_catb.o stralloc_arts.o
./compile strerr_sys.c
./compile strerr_die.c
./makelib strerr.a strerr_sys.o strerr_die.o
./compile substdio.c
./compile substdi.c
./compile substdo.c
./compile subfderr.c
./compile subfdout.c
./compile subfdouts.c
./compile subfdin.c
./compile subfdins.c
./compile substdio_copy.c
./makelib substdio.a substdio.o substdi.o substdo.o subfderr.o subfdout.o subfdouts.o subfdin.o subfdins.o substdio_copy.o
./compile error_str.c
./compile error_temp.c
./makelib error.a error_str.o error_temp.o
./compile str_chr.c
./compile str_rchr.c
./compile str_start.c
./compile byte_chr.c
./compile byte_rchr.c
./compile byte_copy.c
./compile byte_cr.c
./compile byte_zero.c
./makelib str.a str_chr.o str_rchr.o str_start.o byte_chr.o byte_rchr.o byte_copy.o byte_cr.o byte_zero.o
./compile fmt_str.c
./compile fmt_strn.c
./compile fmt_uint.c
./compile fmt_uint0.c
./compile fmt_ulong.c
./compile scan_ulong.c
./compile scan_8long.c
./makelib fs.a fmt_str.o fmt_strn.o fmt_uint.o fmt_uint0.o fmt_ulong.o scan_ulong.o scan_8long.o
./compile datetime.c
./compile datetime_un.c
./makelib datetime.a datetime.o datetime_un.o
./compile auto-str.c
auto-str.c:10: warning: conflicting types for built-in function 'puts'
./load auto-str substdio.a error.a str.a
./auto-str auto_qmail `head -n 1 conf-qmail` > auto_qmail.c
./compile auto_qmail.c
./compile auto-int8.c
auto-int8.c:11: warning: conflicting types for built-in function 'puts'
./load auto-int8 substdio.a error.a str.a fs.a
./auto-int8 auto_patrn `head -n 1 conf-patrn` > auto_patrn.c
./compile auto_patrn.c
( ( ./compile trylsock.c && ./load trylsock -lsocket -lnsl ) >/dev/null 2>&1 && echo -lsocket -lnsl || exit 0 ) > socket.lib
rm -f trylsock.o trylsock
./load qmail-local qmail.o quote.o gfrom.o myctime.o slurpclose.o case.a getln.a getopt.a sig.a open.a lock.a fd.a wait.a env.a stralloc.a strerr.a substdio.a error.a str.a fs.a datetime.a auto_qmail.o auto_patrn.o `cat socket.lib`
./compile qmail-lspawn.c
( ./compile trysysel.c >/dev/null 2>&1 && cat select.h2 || cat select.h1 ) > select.h
rm -f trysysel.o trysysel
./compile chkspawn.c
./compile auto-int.c
auto-int.c:11: warning: conflicting types for built-in function 'puts'
./load auto-int substdio.a error.a str.a fs.a
./auto-int auto_spawn `head -n 1 conf-spawn` > auto_spawn.c
./compile auto_spawn.c
./load chkspawn substdio.a error.a str.a fs.a auto_spawn.o
./chkspawn
Oops. Your system's FD_SET() has a hidden limit of 1024 descriptors.
This means that the qmail daemons could crash if you set the run-time
concurrency higher than 509. So I'm going to insist that the concurrency
limit in conf-spawn be at most 509. Right now it's 1000.
*** Error 1 in notqmail-8c53cd40a3329d682a905decb1f8734fa1ba2e9a-big-concurrency (Makefile:1702 'spawn.o')
*** Error 2 in . (Makefile:26 'build')