scheduler.cc (13088:05763ab10391) scheduler.cc (13093:bea17ab221ef)
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

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

169 // There are no more processes, so return control to evaluate.
170 Fiber::primaryFiber()->run();
171 } else {
172 _current->popListNode();
173 // Switch to whatever Fiber is supposed to run this process. All
174 // Fibers which aren't running should be parked at this line.
175 _current->fiber()->run();
176 // If the current process needs to be manually started, start it.
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

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

169 // There are no more processes, so return control to evaluate.
170 Fiber::primaryFiber()->run();
171 } else {
172 _current->popListNode();
173 // Switch to whatever Fiber is supposed to run this process. All
174 // Fibers which aren't running should be parked at this line.
175 _current->fiber()->run();
176 // If the current process needs to be manually started, start it.
177 if (_current && _current->needsStart())
177 if (_current && _current->needsStart()) {
178 _current->needsStart(false);
178 _current->run();
179 _current->run();
180 }
179 }
180 if (_current && _current->excWrapper) {
181 // Make sure this isn't a method process.
182 assert(!_current->needsStart());
183 auto ew = _current->excWrapper;
184 _current->excWrapper = nullptr;
185 ew->throw_it();
186 }

--- 170 unchanged lines hidden ---
181 }
182 if (_current && _current->excWrapper) {
183 // Make sure this isn't a method process.
184 assert(!_current->needsStart());
185 auto ew = _current->excWrapper;
186 _current->excWrapper = nullptr;
187 ew->throw_it();
188 }

--- 170 unchanged lines hidden ---