Closed Bug 492117 Opened 15 years ago Closed 15 years ago

pthread_condattr_init on darwin

Categories

(NSPR :: NSPR, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: jeremyhu, Assigned: glenbeasley)

Details

Attachments

(1 file, 2 obsolete files)

pthread_condattr_init is available on 10.5 and later
jeremy on a 10.5.6 Mac OS X I can "man pthread_condattr_init" and I see 
that it exists. 

I also read:
http://developer.apple.com/MacOsX/multithreadedprogramming.html

Where did you find that pthread_condattr_init is available on 10.5 and later
meaning not on 10.4 or 10.3?
I didn't say it wasn't available earlier.  In fact, I didn't check.  Right now, the source is never using it at all on darwin.  This patch changes that.
Attached patch patch-pthread.diff (obsolete) — Splinter Review
Original reports are quite dated.  It looks like it was never reported upstream, so I'm just passing it along:

http://trac.macports.org/attachment/ticket/13150
http://trac.macports.org/attachment/ticket/13150/firefox-leopard.patch
Comment on attachment 376499 [details] [diff] [review]
patch-pthread.diff

bug 153525 stated pthread_condattr_init and pthread_kill were not on Darwin in
patch https://bugzilla.mozilla.org/attachment.cgi?id=92470&action=diff

because Mac OS X 10.2 appeared to not have them. 
although according to 
http://developer.apple.com/technotes/tn2002/tn2071.html
pthread_kill was introduced in 10.2 man pthread_kill shows PTHREAD_KILL(2). 

bug 363092 allowed pthread_kill on Darwin.

I think we can assume  pthread_condattr_init(3) was introduced for MAC OS X 10.3?
Attachment #376499 - Flags: review?(wtc)
That sounds plausible.  It's probably safe just to remove this check entirely and just use pthread_condattr_init unconditionally since 10.2 isn't really supported by anyone at this point...
Comment on attachment 376499 [details] [diff] [review]
patch-pthread.diff

If all the versions of Mac OS X that Firefox 3.0
supports have pthread_condattr_init, we don't need
any ifdef at all.

The "Firefox 3 System Requirements" page at
http://www.mozilla.com/en-US/firefox/system-requirements.html
says:

  Mac
  ---------------------------------

  Operating Systems
  * Mac OS X 10.4 and later
  Minimum Hardware
  * Macintosh computer with an Intel x86 or PowerPC
    G3, G4, or G5 processor
  * 128 MB RAM (Recommended: 256 MB RAM or greater)
  * 200 MB hard drive space

So I believe we can just delete #if defined(DARWIN).
Attachment #376499 - Attachment is obsolete: true
Attachment #376514 - Flags: review?(wtc)
Attachment #376499 - Flags: review?(wtc)
sorry forgot -dup
Attachment #376514 - Attachment is obsolete: true
Attachment #376515 - Flags: review?(wtc)
Attachment #376514 - Flags: review?(wtc)
Comment on attachment 376515 [details] [diff] [review]
 use pthread_condattr_init unconditionally2

r=wtc.
Attachment #376515 - Flags: review?(wtc) → review+
cvs commit -m "492117 allow pthread_condattr_init on Mac OS X patch from jHuddleston r=wan-teh" _pth.h 
Checking in _pth.h;
/cvsroot/mozilla/nsprpub/pr/include/md/_pth.h,v  <--  _pth.h
new revision: 3.36; previous revision: 3.35
done
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Target Milestone: --- → 4.8.1
Version: other → 4.8
nspr version is 4.8 beta 1 changing target milestone to 4.8
Target Milestone: 4.8.1 → 4.8
Thanks, Jeremy and Glen.

It's actually NSPR 4.8 Beta 2 now.  I just tagged NSPR 4.8 Beta 1
this morning.
Assignee: wtc → glen.beasley
Version: 4.8 → other
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: