チェンジセット 522
- コミット日時:
- 2008/05/27 14:27:45 (6 ヶ月前)
- ファイル:
凡例:
- 変更無し
- 追加
- 削除
- 更新
- コピー
- 移動
as3/Thread/branches/soumen/src/org/libspark/thread/Thread.as
r520 r522 117 117 // 伝播すべき例外が発生している場合はキャッチされない例外ハンドラを呼び出す 118 118 // Note: _errorThread が null の場合、この例外はまだ伝播すべきではないことを示す 119 if (thread._error != null && thread._errorThr aed != null) {119 if (thread._error != null && thread._errorThread != null) { 120 120 try { 121 getUncaughtErrorHandler()(thread._error, thread._errorThr aed);121 getUncaughtErrorHandler()(thread._error, thread._errorThread); 122 122 } 123 123 catch (e:Object) { … … 125 125 } 126 126 thread._error = null; 127 thread._errorThr aed = null;127 thread._errorThread = null; 128 128 } 129 129 } … … 226 226 _errorHandlers = null; 227 227 _error = null; 228 _errorThr aed = null;228 _errorThread = null; 229 229 } 230 230 … … 241 241 private var _errorHandlers:Dictionary; 242 242 private var _error:Object; 243 private var _errorThr aed:Thread;243 private var _errorThread:Thread; 244 244 245 245 public function get id():uint … … 457 457 // 発生した例外 458 458 var error:Object = _error; 459 var errorThread:Thread = _errorThr aed || this;459 var errorThread:Thread = _errorThread || this; 460 460 461 461 // すべての子スレッドを呼び出す … … 475 475 // 子スレッドで例外が起きていたら一番最初のものを保存 476 476 // Note: _errorThread が null の場合、その例外はまだ親に伝播するべきではないことを示す 477 if (child._error != null && child._errorThr aed != null && error == null) {477 if (child._error != null && child._errorThread != null && error == null) { 478 478 error = child._error; 479 errorThread = child._errorThr aed;479 errorThread = child._errorThread; 480 480 child._error = null; 481 child._errorThr aed = null;481 child._errorThread = null; 482 482 } 483 483 } … … 534 534 // 親に伝播するよう例外を保存 535 535 _error = error; 536 _errorThr aed = errorThread;536 _errorThread = errorThread; 537 537 } 538 538 } … … 580 580 // それ以外の場合は例外を親に伝播する必要がある 581 581 // 例外が親に伝播するように発生元スレッドを設定 582 _errorThr aed = this;582 _errorThread = this; 583 583 // 実行関数の設定をクリアして強制的に終了フェーズに移行させる 584 584 _runHandler = null;
