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

Reply via email to