|
From: | Matt Welland |
Subject: | Re: [Chicken-users] (exit) not exiting ... |
Date: | Wed, 13 Jul 2011 08:10:21 -0700 |
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
> > BTW, the code is visible at [1][2]www.kiatoa.com/fossils/megatest, in> <[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)
> >
> > cmd-run-proc-each-line in process.scm.> > 1. [3]http://www.kiatoa.com/fossils/megatest
> >
> > References
> >
> > Visible links
>
> > _______________________________________________
> > Chicken-users mailing list
> > [4]address@hidden
> > [5]https://lists.nongnu.org/mailman/listinfo/chicken-users
>> References
> --
> .i ma'a lo bradi cu penmi gi'e du
>
>
> Visible links
> 1. mailto:address@hidden
> 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
[Prev in Thread] | Current Thread | [Next in Thread] |