To comment on the following update, log in, then open the issue: http://www.openoffice.org/issues/show_bug.cgi?id=96959 Issue #|96959 Summary|sal/osl/unx/mutex.c unsound Component|porting Version|DEV300m37 Platform|All URL| OS/Version|All Status|NEW Status whiteboard| Keywords| Resolution| Issue type|DEFECT Priority|P3 Subcomponent|code Assigned to|sb Reported by|sb
------- Additional comments from [EMAIL PROTECTED] Fri Dec 5 16:14:18 +0000 2008 ------- The default (#ifndef LINUX) implementation of osl_acquireMutex/osl_releaseMutex in trunk/sal/osl/unx/[EMAIL PROTECTED] l. 220--460 is unsound, as one thread can read pMutex->owner and another thread write it without the necessary memory synchronization (see <http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap04.html#tag_04_10>). The best solution probably is to check whether PTHREAD_MUTEX_RECURSIVE is supported on all platforms that use osl/unx/unx/mutex.c and drop the #ifndef LINUX part completely. However, there are two issues: 1 The #ifdef LINUX part uses the non-standard pthread_mutexattr_setkind_np at l. 83 instead of the standard pthread_mutexattr_settype (commented out at l. 82). Check whether "Linux fully supports recursive mutexes, but only with a non-standard function. So we linux, we use system recursive mutexes." (l. 54--55) is still relevant for our Linux baseline. 2 The #ifndef LINUX part states that PTHREAD_MUTEX_RECURSIVE does not work on certain old Solaris versions (l. 223--231). Check whether this is still relevant for our Solaris baseline. --------------------------------------------------------------------- Please do not reply to this automatically generated notification from Issue Tracker. Please log onto the website and enter your comments. http://qa.openoffice.org/issue_handling/project_issues.html#notification --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
