u3: abort all home-road bails

This commit is contained in:
Joe Bryan 2021-04-20 11:58:38 -07:00
parent 1a257b525c
commit e32a9b2c75

View File

@ -661,7 +661,10 @@ u3m_dump(void)
c3_i c3_i
u3m_bail(u3_noun how) 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(); abort();
} }
@ -689,6 +692,8 @@ u3m_bail(u3_noun how)
switch ( how ) { switch ( how ) {
case c3__foul: case c3__foul:
case c3__oops: { case c3__oops: {
// XX set exit code
//
fprintf(stderr, "bailing out\r\n"); fprintf(stderr, "bailing out\r\n");
abort(); abort();
} }
@ -699,6 +704,9 @@ u3m_bail(u3_noun how)
// choice but to use the signal process; and we require the flat // choice but to use the signal process; and we require the flat
// form of how. // 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))); c3_assert(_(u3a_is_cat(how)));
u3m_signal(how); u3m_signal(how);
} }