From e32a9b2c75df23317091668f9e4d3fd8fd80c576 Mon Sep 17 00:00:00 2001 From: Joe Bryan Date: Tue, 20 Apr 2021 11:58:38 -0700 Subject: [PATCH] u3: abort all home-road bails --- pkg/urbit/noun/manage.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkg/urbit/noun/manage.c b/pkg/urbit/noun/manage.c index baddb6446..d246ab84a 100644 --- a/pkg/urbit/noun/manage.c +++ b/pkg/urbit/noun/manage.c @@ -661,7 +661,10 @@ u3m_dump(void) c3_i u3m_bail(u3_noun how) { - if ( (c3__exit == how) && (u3R == &u3H->rod_u) ) { + if ( &(u3H->rod_u) == u3R ) { + // XX set exit code + // + fprintf(stderr, "home: bailing out\r\n"); abort(); } @@ -689,6 +692,8 @@ u3m_bail(u3_noun how) switch ( how ) { case c3__foul: case c3__oops: { + // XX set exit code + // fprintf(stderr, "bailing out\r\n"); abort(); } @@ -699,6 +704,9 @@ u3m_bail(u3_noun how) // choice but to use the signal process; and we require the flat // form of how. // + // XX JB: these seem unrecoverable, at least wrt memory management, + // so they've been disabled above for now + // c3_assert(_(u3a_is_cat(how))); u3m_signal(how); }