Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions language/fibers.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4985eb0aa7bb240fa3bf7c17f76e1609faef327e Maintainer: mumumu Status: ready -->
<!-- EN-Revision: 376d3f9c2ef7fcd64d8b8503d552013acefb8b5b Maintainer: mumumu Status: ready -->
<chapter xml:id="language.fibers" xmlns="http://docbook.org/ns/docbook">
<title>ファイバー</title>

Expand Down Expand Up @@ -56,8 +56,8 @@
</para>
<note>
<simpara>
現状の制限により
ファイバーをオブジェクトのデストラクタ中で切り替えることはできません
PHP 8.4.0 より前では
ファイバーをオブジェクトの <link linkend="language.oop5.decon.destructor">デストラクタ</link> 中で切り替えることはできませんでした
</simpara>
</note>

Expand Down
16 changes: 15 additions & 1 deletion language/oop5/decon.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 9f351a14a749721a74df1dc6ac9533cf796a652e Maintainer: hirokawa Status: ready -->
<!-- EN-Revision: 376d3f9c2ef7fcd64d8b8503d552013acefb8b5b Maintainer: hirokawa Status: ready -->
<!-- CREDITS: shimooka,mumumu -->

<sect1 xml:id="language.oop5.decon" xmlns="http://docbook.org/ns/docbook">
Expand Down Expand Up @@ -377,6 +377,20 @@ $obj = new MyDestructableClass();
HTTP ヘッダはすでに送信されています。スクリプトのシャットダウン時の作業ディレクトリは、
SAPI によっては (たとえば Apache など) 異なります。
</para>
<para>
デストラクタが自身のオブジェクトへの新しい3章を作成した場合、参照カウントが再びゼロになったときや
シャットダウンシーケンス中に、再度呼び出されることはありません。
</para>
<para>
PHP 8.4.0 以降、 <link linkend="features.gc.collecting-cycles">サイクルコレクション</link> が
<link linkend="language.fibers">ファイバー</link>の実行中に発生した場合、
回収がスケジュールされたオブジェクトのデストラクタは、 <literal>gc_destructor_fiber</literal>と呼ばれる
別のファイバー内で実行されます。
このファイバーが中断された場合、残りのデストラクタを実行するために新しいファイバーが作成されます。
中断された <literal>gc_destructor_fiber</literal> はガベージコレクタによって参照されなくなり、
他の参照がなければ回収される可能性があります。
デストラクタが中断されたオブジェクトは、デストラクタが復帰するかファイバー自体が回収されるまで回収されません。
</para>
</note>
<note>
<para>
Expand Down