-
Notifications
You must be signed in to change notification settings - Fork 0
/
aab15b1fea8a6c48953bf152a334d6a1840184c3-big-concurrency.log
280 lines (280 loc) · 11.4 KB
/
aab15b1fea8a6c48953bf152a334d6a1840184c3-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
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
rm -rf notqmail-aab15b1fea8a6c48953bf152a334d6a1840184c3-big-concurrency
git -C notqmail.git fetch origin aab15b1fea8a6c48953bf152a334d6a1840184c3
From https://github.com/notqmail/notqmail
* branch aab15b1fea8a6c48953bf152a334d6a1840184c3 -> FETCH_HEAD
git -C notqmail.git archive --prefix=notqmail-aab15b1fea8a6c48953bf152a334d6a1840184c3-big-concurrency/ aab15b1fea8a6c48953bf152a334d6a1840184c3 | tar xf -
cd notqmail-aab15b1fea8a6c48953bf152a334d6a1840184c3-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" <[email protected]>
|To: [email protected]
|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, [email protected] <[email protected]> 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 22.
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 262.
Hunk #2 succeeded at 908.
Hunk #3 succeeded at 1547.
Hunk #4 succeeded at 1555.
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 64 (offset 1 line).
Hunk #2 succeeded at 74 (offset 1 line).
Hunk #3 succeeded at 157 (offset 1 line).
Hunk #4 succeeded at 206 (offset 1 line).
Hunk #5 succeeded at 242 (offset 1 line).
Hmm... Ignoring the trailing garbage.
done
make -C notqmail-aab15b1fea8a6c48953bf152a334d6a1840184c3-big-concurrency it
( cat warn-auto.sh; echo CC=\'`head -1 conf-cc`\'; echo LD=\'`head -1 conf-ld`\' ) > auto-ccld.sh
cat auto-ccld.sh make-load.sh > make-load
chmod 755 make-load
cat auto-ccld.sh find-systype.sh > find-systype
chmod 755 find-systype
./find-systype > systype
( cat warn-auto.sh; ./make-load "`cat systype`" ) > load
chmod 755 load
cat auto-ccld.sh make-compile.sh > make-compile
chmod 755 make-compile
( cat warn-auto.sh; ./make-compile "`cat systype`" ) > compile
chmod 755 compile
./compile qmail-local.c
qmail-local.c: In function 'main':
qmail-local.c:450: warning: return type of 'main' is not 'int'
./compile qmail.c
./compile quote.c
./compile now.c
now.c: In function 'now':
now.c:7: warning: passing argument 1 of 'time' from incompatible pointer type
./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 "`cat systype`" ) > 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 seek_cur.c
./compile seek_end.c
./compile seek_set.c
./compile seek_trunc.c
./makelib seek.a seek_cur.o seek_end.o seek_set.o seek_trunc.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 alloc.c
alloc.c:3: warning: conflicting types for built-in function 'malloc'
./compile alloc_re.c
./makelib alloc.a alloc.o alloc_re.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.c
./compile error_str.c
./compile error_temp.c
./makelib error.a error.o error_str.o error_temp.o
./compile str_len.c
./compile str_diff.c
./compile str_diffn.c
./compile str_cpy.c
./compile str_chr.c
./compile str_rchr.c
./compile str_start.c
./compile byte_chr.c
./compile byte_rchr.c
./compile byte_diff.c
./compile byte_copy.c
./compile byte_cr.c
./compile byte_zero.c
./makelib str.a str_len.o str_diff.o str_diffn.o str_cpy.o str_chr.o str_rchr.o str_start.o byte_chr.o byte_rchr.o byte_diff.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:9: warning: conflicting types for built-in function 'puts'
auto-str.c: In function 'main':
auto-str.c:17: warning: return type of 'main' is not 'int'
./load auto-str substdio.a error.a str.a
./auto-str auto_qmail `head -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'
auto-int8.c: In function 'main':
auto-int8.c:19: warning: return type of 'main' is not 'int'
./load auto-int8 substdio.a error.a str.a fs.a
./auto-int8 auto_patrn `head -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 now.o gfrom.o myctime.o slurpclose.o case.a getln.a getopt.a sig.a open.a seek.a lock.a fd.a wait.a env.a stralloc.a alloc.a strerr.a substdio.a error.a str.a fs.a datetime.a auto_qmail.o auto_patrn.o `cat socket.lib`
( ( ./compile tryulong32.c && ./load tryulong32 && ./tryulong32 ) >/dev/null 2>&1 && cat uint32.h2 || cat uint32.h1 ) > uint32.h
rm -f tryulong32.o tryulong32
./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
chkspawn.c: In function 'main':
chkspawn.c:12: warning: return type of 'main' is not 'int'
./compile auto-int.c
auto-int.c:11: warning: conflicting types for built-in function 'puts'
auto-int.c: In function 'main':
auto-int.c:19: warning: return type of 'main' is not 'int'
./load auto-int substdio.a error.a str.a fs.a
./auto-int auto_spawn `head -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-aab15b1fea8a6c48953bf152a334d6a1840184c3-big-concurrency (Makefile:1880 'spawn.o')
*** Error 2 in . (Makefile:26 'build')