bugThe GNU Hurd - Bugs: bug #18217, glibc: `__libc_once'

 
 

bug #18217: glibc: `__libc_once'

Submitted by:  Thomas Schwinge <tschwinge>
Submitted on:  Mon 06 Nov 2006 04:36:02 PM UTC  
 
Category: glibcSeverity: 5 - Blocker
Priority: 9 - ImmediateItem Group: Compatibility
Status: FixedPrivacy: Public
Assigned to: Roland McGrath <roland>Originator Name: 
Open/Closed: ClosedReproducibility: Every Time
Size (loc): NonePlanned Release: None
Effort: 0.00
Wiki-like text discussion box: 

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Mon 18 Dec 2006 02:56:52 PM UTC, comment #3:

A proposed patch is filed in upstream's Bugzilla: <http://sourceware.org/bugzilla/show_bug.cgi?id=3748>.

Thomas Schwinge <tschwinge>
Project Administrator
Mon 04 Dec 2006 08:26:24 PM UTC, comment #2:

Roland: ``Uli abused the macros. To support the use he wants, __libc_once should be revamped in all its implementations to return a value or have a variant that does (value says whether fn just ran).''

Thomas Schwinge <tschwinge>
Project Administrator
Mon 06 Nov 2006 04:46:00 PM UTC, comment #1:

Is the applied usage of `old_once' in line 2029 supported? For the Mach / Hurd `__libc_once' functionality, we'd need to change that `if (old_once ...' to `if (old_once.done ...', I think. Do we need a common interface for that then, i.e. something like a macro `__libc_once_done(NAME)' which is defined to `NAME.done' for Mach / Hurd and plainly `NAME' for NPTL and then use that in line 2029?

Thomas Schwinge <tschwinge>
Project Administrator
Mon 06 Nov 2006 04:36:02 PM UTC, original submission:

#v+
../sysdeps/posix/getaddrinfo.c: In function 'getaddrinfo':
../sysdeps/posix/getaddrinfo.c:2029: error: used struct type value where scalar is required
#v-

2025 /* Read the config file. */
2026 __libc_once_define (static, once);
2027 __typeof (once) old_once = once;
2028 __libc_once (once, gaiconf_init);
2029 if (old_once && gaiconf_reload_flag)
2030 gaiconf_reload ();

This is because out handling of the `__libc_once' stuff (sysdeps/mach/bits/libc-lock.h or (sysdeps/mach/hurd/bits/libc-lock.h) is done differently from e.g. the NPTL one (nptl/sysdeps/pthread/bits/libc-lock.h).

Thomas Schwinge <tschwinge>
Project Administrator

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by tschwinge (Posted a comment)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 5 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Fri 11 May 2012 03:13:09 AM UTCtschwingeStatusUpstream=>Fixed
      Assigned toNone=>roland
      Open/ClosedOpen=>Closed
    Mon 18 Dec 2006 02:56:52 PM UTCtschwingeStatusNone=>Upstream
    Mon 06 Nov 2006 04:36:02 PM UTCtschwingeCarbon-Copy-=>Added roland

    Back to the top


    Powered by Savane 3.1-cleanup1