Hello Gavin!
Gavin Troy <[email protected]> wrote:
|Subject says it all. After setting a content pipe such as
|
|> set pipe-text/html=cat
|
|and then typing a message that includes a text/html part, s-nail will hang
|until interrupted. The manual "pipe" command and the special "@" pipe are
|exempt from this behaviour.
It is DEFINETELY LOW END not to re-run the complete test series
before doing a release!
My Apologies, Gavin! I thought we were over such things.
Can you confirm that the patch below (or updating to [next],
though that is a larger changeset) does fix your problem?
(A part of the notational change was/is that checking return
values of system calls has been changed (hopefully complete)
from '< 0' to '== -1' (interestingly i like the former more,
because on some hardware it's only a flag test, not
a comparison, but whee).
Yet: if that is done in a brain damaged way then important
information is lost, just like the return value of waitpid(2),
especially when used with WNOHANG.)
|In other unrelated news, I'm afraid 14.6.1 has been generally \
|unstable for me,
No! Nonono!
|although I can never reproduce a crash. They seem to be when I read some new
|mail and then change folder, leading to a crash such as
|
|> *** Error in `mail': malloc(): memory corruption: 0x0000000001a2e590 ***
I would love to hear more on that! With WANT_DEBUG (didn't you
say you use that? :) you should get a long listing of points of
interest in case of a crash..
(The only memory problems i see are when i really go and use the
crappy Apple debug support programs (heap(1), leaks(1) and such
stuff). :) I'll have to return to something more free, even
though the hardware is really nice and robust.)
|I'll keep my eyes open and see if I can chase down the pattern.
Yes, i would really appreciate that.
Thank you Gavin,
ciao
|Regards
|Gavin Troy
That's a brave band of instruments here in the Cavern Club.
--steffen
diff --git a/popen.c b/popen.c
index ed6e1bb..ca2f7a6 100644
--- a/popen.c
+++ b/popen.c
@@ -767,9 +767,9 @@ sigchild(int signo)
UNUSED(signo);
for (;;) {
- pid = waitpid(-1, &status, WNOHANG);
- if (pid == -1) {
- if (errno == EINTR)
+ pid = (int)waitpid((pid_t)-1, &status, WNOHANG);
+ if (pid <= 0) {
+ if (pid == -1 && errno == EINTR)
continue;
break;
}
------------------------------------------------------------------------------
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
_______________________________________________
S-nail-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/s-nail-users