process.cc (13288:f1c04129f709) process.cc (13306:2196f4a8201f)
1/*
2 * Copyright 2018 Google, Inc.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met: redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer;
8 * redistributions in binary form must reproduce the above copyright

--- 192 unchanged lines hidden (view full) ---

201 SC_REPORT_ERROR(
202 "(E574) throw_it not allowed unless simulation is running ",
203 name());
204 }
205
206 if (inc_kids)
207 forEachKid([&exc](Process *p) { p->throw_it(exc, true); });
208
1/*
2 * Copyright 2018 Google, Inc.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met: redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer;
8 * redistributions in binary form must reproduce the above copyright

--- 192 unchanged lines hidden (view full) ---

201 SC_REPORT_ERROR(
202 "(E574) throw_it not allowed unless simulation is running ",
203 name());
204 }
205
206 if (inc_kids)
207 forEachKid([&exc](Process *p) { p->throw_it(exc, true); });
208
209 // Only inject an exception into threads that have started.
210 if (!_needsStart)
211 injectException(exc);
209 if (_needsStart || _terminated)
210 return;
211
212 injectException(exc);
212}
213
214void
215Process::injectException(ExceptionWrapperBase &exc)
216{
217 excWrapper = &exc;
218 scheduler.runNow(this);
219};

--- 218 unchanged lines hidden ---
213}
214
215void
216Process::injectException(ExceptionWrapperBase &exc)
217{
218 excWrapper = &exc;
219 scheduler.runNow(this);
220};

--- 218 unchanged lines hidden ---