scheduler.cc (13245:c666c5d4996b) | scheduler.cc (13259:3730df183b84) |
---|---|
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 --- 164 unchanged lines hidden (view full) --- 173 _current->needsStart(false); 174 try { 175 _current->run(); 176 } catch (...) { 177 throwToScMain(); 178 } 179 } 180 } | 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 --- 164 unchanged lines hidden (view full) --- 173 _current->needsStart(false); 174 try { 175 _current->run(); 176 } catch (...) { 177 throwToScMain(); 178 } 179 } 180 } |
181 if (_current && _current->excWrapper) { 182 // Make sure this isn't a method process. 183 assert(!_current->needsStart()); 184 auto ew = _current->excWrapper; 185 _current->excWrapper = nullptr; 186 ew->throw_it(); | 181 if (_current && !_current->needsStart()) { 182 if (_current->excWrapper) { 183 auto ew = _current->excWrapper; 184 _current->excWrapper = nullptr; 185 ew->throw_it(); 186 } else if (_current->syncReset()) { 187 _current->reset(false); 188 } |
187 } 188} 189 190void 191Scheduler::ready(Process *p) 192{ 193 if (_stopNow) 194 return; --- 300 unchanged lines hidden --- | 189 } 190} 191 192void 193Scheduler::ready(Process *p) 194{ 195 if (_stopNow) 196 return; --- 300 unchanged lines hidden --- |