|
31 | 31 | </header>
|
32 | 32 | <p>This document describes the changes made to the ERTS application.</p>
|
33 | 33 |
|
| 34 | +<section><title>Erts 13.2.2.3</title> |
| 35 | + |
| 36 | + <section><title>Fixed Bugs and Malfunctions</title> |
| 37 | + <list> |
| 38 | + <item> |
| 39 | + <p> |
| 40 | + A process optimized for parallel signal delivery could |
| 41 | + under some circumstances lose wakeup information. That |
| 42 | + is, the processes was not woken up to take care of the |
| 43 | + signal, so the signal would not be taken care of until |
| 44 | + the process was woken by another signal. Only processes |
| 45 | + configured with <seeerl |
| 46 | + marker="erlang#process_flag_message_queue_data"><c>message_queue_data</c></seeerl> |
| 47 | + set to <c>off_heap</c> utilize this optimization.</p> |
| 48 | + <p> |
| 49 | + Own Id: OTP-18647 Aux Id: PR-7595 </p> |
| 50 | + </item> |
| 51 | + <item> |
| 52 | + <p> |
| 53 | + Delivery time of message signals to a process not |
| 54 | + executing any <c>receive</c> expressions could become |
| 55 | + very long, potentially infinite. For example, a process |
| 56 | + checking for messages using <c>process_info(self(), |
| 57 | + message_queue_len)</c> or <c>process_info(self(), |
| 58 | + messages)</c> and avoiding to execute a <c>receive</c> |
| 59 | + expression matching on messages could be very slow in |
| 60 | + detecting new messages. Note that you are still |
| 61 | + discouraged from using <c>process_info()</c> this way. A |
| 62 | + process that wants to check if there are messages |
| 63 | + available to handle should execute a <c>receive</c> |
| 64 | + expression matching on messages.</p> |
| 65 | + <p> |
| 66 | + Own Id: OTP-18706 Aux Id: GH-7413, PR-7595, ERIERL-979 </p> |
| 67 | + </item> |
| 68 | + <item> |
| 69 | + <p> |
| 70 | + Fix bug causing "magic" references in a <c>compressed</c> |
| 71 | + ETS table to not keep the referred object alive. The |
| 72 | + symptom would be the referred object being garbage |
| 73 | + collected prematurely and the reference appearing stale, |
| 74 | + not referring to anything. Examples of such magically |
| 75 | + referred objects are <c>atomics</c> and NIF resources.</p> |
| 76 | + <p> |
| 77 | + Own Id: OTP-18732 Aux Id: GH-7444, PR-7458 </p> |
| 78 | + </item> |
| 79 | + <item> |
| 80 | + <p> |
| 81 | + A constant flow of incoming non-message signals could |
| 82 | + prevent a process needing to execute dirty from doing so.</p> |
| 83 | + <p> |
| 84 | + Own Id: OTP-18737 Aux Id: PR-7595 </p> |
| 85 | + </item> |
| 86 | + <item> |
| 87 | + <p> |
| 88 | + The cleanup operation of not yet delivered signals to a |
| 89 | + terminated process yielded excessively.</p> |
| 90 | + <p> |
| 91 | + Own Id: OTP-18752 Aux Id: PR-7633 </p> |
| 92 | + </item> |
| 93 | + </list> |
| 94 | + </section> |
| 95 | + |
| 96 | +</section> |
| 97 | + |
34 | 98 | <section><title>Erts 13.2.2.2</title>
|
35 | 99 |
|
36 | 100 | <section><title>Fixed Bugs and Malfunctions</title>
|
|
0 commit comments