Anonymous | Login | 2024-05-02 01:15 UTC |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||
ID | Category | Severity | Type | Date Submitted | Last Update | ||
0000759 | [1003.1(2013)/Issue7+TC1] System Interfaces | Comment | Clarification Requested | 2013-09-24 00:24 | 2013-10-17 15:40 | ||
Reporter | shware_systems | View Status | public | ||||
Assigned To | |||||||
Priority | normal | Resolution | Rejected | ||||
Status | Closed | ||||||
Name | Mark Ziegast | ||||||
Organization | |||||||
User Reference | |||||||
Section | pthread_mutex_lock(), pthread_mutexattr_get, setrobust() | ||||||
Page Number | 1654, 1674 | ||||||
Line Number | 53619, 54314 | ||||||
Interp Status | --- | ||||||
Final Accepted Text | |||||||
Summary | 0000759: Is "may fail" case adequately specified? | ||||||
Description |
Re: #0748 "The problem is that if the "may fail" EOWNERDEAD case is not supported, and the process containing the terminated thread does not terminate, then the mutex cannot be acquired - any attempt to do so will either block indefinitely, fail with EBUSY, or timeout." Is this the only behavior considered normative for if EOWNERDEAD isn't supported, that it behave as a non-robust mutex? If so, it seems making that explicit may be needed. For both here and mutex_lock( ) pages I think the language leaves open, at least for implementation provided mutexes, some degree of automatic attempt to make the protected state consistent and return success, but this isn't indicated. I can also see, though non-portable, returning a different error value, e.g. ETHREADDEAD, to differentiate from the process-died case. An implementation-defined signal being raised with mutex address as parameter also might be usable to make the state consistent in the signal handler and call mutex_consistent( ) there before the lock interfaces return so they succeed, or return ENOTRECOVERABLE instead directly. A SIGIGN on this signal could still return EOWNERDEAD. |
||||||
Desired Action | Clarify alternative portable behaviors for when EOWNERDEAD is not returned in the "thread died but app hasn't" may fail case, or provide cross reference to existing text. | ||||||
Tags | No tags attached. | ||||||
Attached Files | |||||||
|
Relationships | ||||||
|
Mantis 1.1.6[^] Copyright © 2000 - 2008 Mantis Group |