chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] (exit) not exiting ...


From: Matt Welland
Subject: Re: [Chicken-users] (exit) not exiting ...
Date: Wed, 13 Jul 2011 08:10:21 -0700

Heh heh. Yes, you are right to cringe, I suppose I should have added a smiley!

Your hint on I/O nudged me to dig though the code looking for open without close or similar problems and sure enough I was reading a configuration file for each test and not closing the port. Once this was corrected the "(exit)" started working just fine.

The app was written to be run repeatedly from a crontab launching only a few tests each time. On a request, I implemented the ability to do a full run from a single invocation. Previously I could launch and manage thousands of tests with the original crontab driven approach but some subtle problems surfaced with the new approach (which of course I happen to not use myself).

Thanks again Alan for your very helpful input.

On Wed, Jul 13, 2011 at 6:02 AM, Alan Post <address@hidden> wrote:
I cringed at your describing this code as "working!"  I intended it
to be a test; if |exit| or |_exit| were not terminating your
program, I wondered if it was rare but possible condition of the
kernel/C library not permitting exit (the kernel holding a frozen
I/O resource for your process and your doing funny things with |atexit|
being the two ways I'm aware of to keep |exit| from terminating a
process.

It looks like it is something Chicken is doing, however, as your process
is able to be terminated.  I wonder what it could be?

-Alan


On Tue, Jul 12, 2011 at 10:23:35PM -0700, Matt Welland wrote:
>    Yep, that works! It looks right at home with the existing hacks and will
>    do until I get to some refactoring....
>
>    Thanks for the solution!
>
>    On Tue, Jul 12, 2011 at 6:01 PM, Alan Post
>    <[1]address@hidden> wrote:
>
>      What happens if you call?:
>
>      (use posix)
>      (process-signal (current-process-id) signal/kill)
>
>      -Alan
>      On Tue, Jul 12, 2011 at 05:25:24PM -0700, Matt Welland wrote:
>      > I have some code that was "evolved" rather than designed and is
>      admittedly
>      > a bit of a mess and I needed to add an "(exit)" deep in a block where
>      > running a sub process has failed. However the (exit) never exits. This
>      is
>      > true both if I run compiled or interpreted. I have tried to make a
>      small
>      > test case but I can't reproduce the issue. I even replaced the (exit)
>      with
>      > a call to a function that prints a message and then does exit and it
>      still
>      > doesn't exit. I also tried _exit with the same result.
>      > Any suggestions on what to look at or how to debug this?
>      >
>      > My attempt to reproduce (which works fine) is below:
>      >
>      > (define foo 8)
>      >
>      > (define (runbroke cmd)
>      > (handle-exceptions
>      > exn
>      > (begin
>      > (print "FAILED! exn=" exn)
>      > #f)
>      > (cmd)))
>      >
>      > (define bar 9)
>      >
>      > (let ((res (runbroke (lambda ()(process "nadafoobar" "-l" "-blah")))))
>      > (if (not res)
>      > (begin
>      > (print "Failed to run, exiting with code 7")
>      > (exit 7))))
>      >
>      > (exit bar)
>      >
>      > BTW, the code is visible at [1][2]www.kiatoa.com/fossils/megatest, in
>      > cmd-run-proc-each-line in process.scm.
>      >
>      > References
>      >
>      > Visible links
>      > 1. [3]http://www.kiatoa.com/fossils/megatest
>
>      > _______________________________________________
>      > Chicken-users mailing list
>      > [4]address@hidden
>      > [5]https://lists.nongnu.org/mailman/listinfo/chicken-users
>
>      --
>      .i ma'a lo bradi cu penmi gi'e du
>
> References
>
>    Visible links
>    1. mailto:address@hidden
>    2. http://www.kiatoa.com/fossils/megatest
>    3. http://www.kiatoa.com/fossils/megatest
>    4. mailto:address@hidden
>    5. https://lists.nongnu.org/mailman/listinfo/chicken-users

> _______________________________________________
> Chicken-users mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/chicken-users


--
.i ma'a lo bradi cu penmi gi'e du


reply via email to

[Prev in Thread] Current Thread [Next in Thread]