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

 
 

bug #18217: glibc: `__libc_once'

Submitter:  Thomas Schwinge <tschwinge>
Submitted:  Mon 06 Nov 2006 04:36:02 PM UTC
   
 
Category:  glibc Severity:  5 - Blocker
Priority:  9 - Immediate Item Group:  Compatibility
Status:  Fixed Privacy:  Public
Assigned to:  roland Originator Name: 
Open/Closed:  Closed Reproducibility:  Every Time
Size (loc):  None Planned Release:  None
Effort:  0.00
Wiki-like text discussion box: 


* Mandatory Fields

Add a New Comment Rich Markup
   

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>
Group 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>
Group 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>
Group 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>
Group administrator

 

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

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

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

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2012-05-11 tschwinge StatusUpstream Fixed
        Assigned toNone roland
        Open/ClosedOpen Closed
    2006-12-18 tschwinge StatusNone Upstream
    2006-11-06 tschwinge Carbon-Copy- Added roland

    Back to the top

    Powered by Savane 3.13-4448.
    Corresponding source code