with-continuation-barrier calls exit(3) _after_ unwinding
authorAndy Wingo <wingo@pobox.com>
Thu, 24 Mar 2011 19:20:14 +0000 (20:20 +0100)
committerAndy Wingo <wingo@pobox.com>
Wed, 30 Mar 2011 10:43:50 +0000 (12:43 +0200)
commite309f3bf9ee910c4772353ca3ff95f6f4ef466b5
tree3ae369afe2f8806931b93391eed22e8e4a6b1a28
parent653ccd78fa6770c692f5a737ad70de5aedbfcc7f
with-continuation-barrier calls exit(3) _after_ unwinding

* libguile/continuations.c (scm_handler, c_handler)
  (scm_c_with_continuation_barrier, scm_with_continuation_barrier):
  Instead of calling scm_handle_by_message_noexit in the pre-unwind
  handler, roll our own exception printing in the pre-unwind, and do to
  exit()-on-quit in the post-unwind handler.  This lets the stack unwind
  at exit-time so that pending dynwinds run.

* test-suite/tests/continuations.test ("continuations"): Add a test.
libguile/continuations.c
test-suite/tests/continuations.test