[CDRIVER-698] Unused macro in libbson Created: 05/Jun/15  Updated: 03/May/17  Resolved: 18/Jun/15

Status: Closed
Project: C Driver
Component/s: libbson
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Trivial - P5
Reporter: Jeroen Ooms [X] Assignee: A. Jesse Jiryu Davis
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

The BSON_PTHREAD_ONCE_INIT_NEEDS_BRACES macro in libbson config.h does not seem to be used anywhere. Perhaps it can be removed.



 Comments   
Comment by Githook User [ 11/Jan/16 ]

Author:

{u'username': u'ajdavis', u'name': u'A. Jesse Jiryu Davis', u'email': u'jesse@mongodb.com'}

Message: Merge branch '1.2.0-dev'

Comment by Githook User [ 20/Oct/15 ]

Author:

{u'username': u'ajdavis', u'name': u'A. Jesse Jiryu Davis', u'email': u'jesse@mongodb.com'}

Message: Merge branch '1.2.0-dev'

Comment by Githook User [ 07/Oct/15 ]

Author:

{u'username': u'ajdavis', u'name': u'A. Jesse Jiryu Davis', u'email': u'jesse@mongodb.com'}

Message: Merge branch '1.2.0-dev'

Comment by Githook User [ 07/Oct/15 ]

Author:

{u'username': u'ajdavis', u'name': u'A. Jesse Jiryu Davis', u'email': u'jesse@emptysquare.net'}

Message: Merge pull request #132 from ajdavis/CDRIVER-698-needs-braces-config

CDRIVER-698 fix BSON_PTHREAD_ONCE_INIT_NEEDS_BRACES config
Branch: master
https://github.com/mongodb/libbson/commit/0a8f4a9c70b9c3bd536ab58e92b6f7d9e2d77ea2

Comment by Githook User [ 07/Oct/15 ]

Author:

{u'username': u'ajdavis', u'name': u'A. Jesse Jiryu Davis', u'email': u'jesse@emptysquare.net'}

Message: Merge pull request #132 from ajdavis/CDRIVER-698-needs-braces-config

CDRIVER-698 fix BSON_PTHREAD_ONCE_INIT_NEEDS_BRACES config
Branch: master
https://github.com/mongodb/libbson/commit/0a8f4a9c70b9c3bd536ab58e92b6f7d9e2d77ea2

Comment by Githook User [ 07/Oct/15 ]

Author:

{u'username': u'ajdavis', u'name': u'A. Jesse Jiryu Davis', u'email': u'jesse@mongodb.com'}

Message: CDRIVER-698 fix BSON_PTHREAD_ONCE_INIT_NEEDS_BRACES config
Branch: master
https://github.com/mongodb/libbson/commit/f0c2791ed6917602efd18590254a82217620271a

Comment by Githook User [ 07/Oct/15 ]

Author:

{u'username': u'ajdavis', u'name': u'A. Jesse Jiryu Davis', u'email': u'jesse@mongodb.com'}

Message: Merge branch '1.2.0-dev'

Comment by A. Jesse Jiryu Davis [ 18/Jun/15 ]

The macro wasn't used because there was a misspelled attempt to use it, with a comment about how it might be needed on Solaris 10. I don't have a Solaris 10 box handy to test whether the macro's really necessary, so I've fixed its usage in case it's needed, rather than deleting it.

Comment by Githook User [ 18/Jun/15 ]

Author:

{u'username': u'ajdavis', u'name': u'A. Jesse Jiryu Davis', u'email': u'jesse@emptysquare.net'}

Message: Merge pull request #132 from ajdavis/CDRIVER-698-needs-braces-config

CDRIVER-698 fix BSON_PTHREAD_ONCE_INIT_NEEDS_BRACES config
Branch: 1.2.0-dev
https://github.com/mongodb/libbson/commit/0a8f4a9c70b9c3bd536ab58e92b6f7d9e2d77ea2

Comment by Githook User [ 18/Jun/15 ]

Author:

{u'username': u'ajdavis', u'name': u'A. Jesse Jiryu Davis', u'email': u'jesse@emptysquare.net'}

Message: Merge pull request #132 from ajdavis/CDRIVER-698-needs-braces-config

CDRIVER-698 fix BSON_PTHREAD_ONCE_INIT_NEEDS_BRACES config
Branch: 1.2.0-dev
https://github.com/mongodb/libbson/commit/0a8f4a9c70b9c3bd536ab58e92b6f7d9e2d77ea2

Comment by Githook User [ 18/Jun/15 ]

Author:

{u'username': u'ajdavis', u'name': u'A. Jesse Jiryu Davis', u'email': u'jesse@mongodb.com'}

Message: CDRIVER-698 fix BSON_PTHREAD_ONCE_INIT_NEEDS_BRACES config
Branch: 1.2.0-dev
https://github.com/mongodb/libbson/commit/f0c2791ed6917602efd18590254a82217620271a

Comment by A. Jesse Jiryu Davis [ 17/Jun/15 ]

https://github.com/mongodb/libbson/pull/132/files

Comment by A. Jesse Jiryu Davis [ 05/Jun/15 ]

Thanks for the info!

Comment by Jeroen Ooms [X] [ 05/Jun/15 ]

I can confirm that it builds on both solaris 10 and 11 with BSON_PTHREAD_ONCE_INIT_NEEDS_BRACES = 0. So it seems completely redundant.

Comment by A. Jesse Jiryu Davis [ 05/Jun/15 ]

The check in libbson's FindDependencies.m4 claims:

  1. The following is borrowed from the guile configure script.
    #
  2. On past versions of Solaris, believe 8 through 10 at least, you
  3. had to write "pthread_once_t foo = { PTHREAD_ONCE_INIT }

    ;".

  4. This is contrary to POSIX:
  5. http://www.opengroup.org/onlinepubs/000095399/functions/pthread_once.html
  6. Check here if this style is required.
    #
  7. glibc (2.3.6 at least) works both with or without braces, so the
  8. test checks whether it works without.

Yet the macro isn't used. Instead, we use a wrongly-spelled macro
"_PTHREAD_ONCE_INIT_NEEDS_BRACES" that is always undefined. Since this
compiles anyway (we test back to Solaris 10 on our test box named
"Gelatin") it suggests the comment about Solaris versions wrong and the
whole broken build check can be deleted.

Generated at Wed Feb 07 21:10:21 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.