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
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);
}