A NOTE has been added to this issue. ====================================================================== https://austingroupbugs.net/view.php?id=851 ====================================================================== Reported By: dancol Assigned To: ====================================================================== Project: 1003.1(2013)/Issue7+TC1 Issue ID: 851 Category: System Interfaces Type: Omission Severity: Comment Priority: normal Status: New Name: Daniel Colascione Organization: User Reference: Section: (section number or name, can be interface name) Page Number: (page or range of pages) Line Number: (Line or range of lines) Interp Status: --- Final Accepted Text: ====================================================================== Date Submitted: 2014-06-26 23:34 UTC Last Modified: 2022-07-28 15:37 UTC ====================================================================== Summary: pthread_atfork orphans handlers in unloaded shared libraries ======================================================================
---------------------------------------------------------------------- (0005915) geoffclare (manager) - 2022-07-28 15:37 https://austingroupbugs.net/view.php?id=851#c5915 ---------------------------------------------------------------------- On 2018 edition page 315 line 10683 section <pthread.h> add OB shading to pthread_atfork(). On 2018 edition page 1560 line 51088-51090 add OB shading to pthread_atfork() SYNOPSIS. On 2018 edition page 1562 line 51179 add to pthread_atfork() RATIONALE:<blockquote>An additional problem arises when <i>pthread_atfork</i>() is called to register a function in a library that was loaded using <i>dlopen</i>(). If the library is unloaded using <i>dlclose</i>(), and the implementation of <i>dlclose</i>() does not unregister the function, then when <i>fork</i>() tries to call it the result will be undefined behavior. Some implementations of <i>dlclose</i>() do unregister <i>pthread_atfork</i>() handlers, but this cannot be relied upon by portable applications. The standard provides no portable method for unregistering a function installed as a handler via <i>pthread_atfork</i>().</blockquote> On 2018 edition page 1562 line 51181 change pthread_atfork() FUTURE DIRECTIONS to:<blockquote>The <i>pthread_atfork</i>( ) function may be removed in a future version of this standard.</blockquote> Issue History Date Modified Username Field Change ====================================================================== 2014-06-26 23:34 dancol New Issue 2014-06-26 23:34 dancol Name => Daniel Colascione 2014-06-26 23:34 dancol Section => (section number or name, can be interface name) 2014-06-26 23:34 dancol Page Number => (page or range of pages) 2014-06-26 23:34 dancol Line Number => (Line or range of lines) 2014-06-27 01:09 eblake Note Added: 0002286 2014-06-27 09:32 geoffclare Note Added: 0002287 2014-06-27 14:43 dalias Note Added: 0002291 2014-07-10 16:07 eblake Note Added: 0002307 2014-07-11 14:33 geoffclare Note Edited: 0002287 2014-07-17 15:08 joerg Note Added: 0002309 2014-07-17 16:18 dalias Note Added: 0002310 2022-07-26 11:12 geoffclare Note Added: 0005912 2022-07-28 15:37 geoffclare Note Added: 0005915 ======================================================================