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]

Reply via email to