Re: pthread_cleanup_push_defer_np.3: missing functions in glibc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Alejandro Colomar:

> Hi Florian,
>
> On 3/8/21 11:39 AM, Florian Weimer wrote:
>> * Alejandro Colomar:
>> 
>>> While adding 'restrict' to the prototypes, I found that the functions
>>> defined in this page don't exist on glibc (or I couldn't find them).
>>> I tried removing _np, and still no luck, and 'git log --grep' didn't
>>> help either.  Where these functions removed at some point?
>> Yes, they are part of the legacy cancellation implementation that
>> predates DWARF unwinding.
>
> Thanks for the info.  I guess we should add that to the manual
> page. I've tried checking out some quite old versions of glibc and
> still didn't find the functions.  If you know more details about when
> they were removed, please tell me and I'll update it.

LinuxThreads had this:

/* Install a cleanup handler as pthread_cleanup_push does, but also
   saves the current cancellation type and set it to deferred cancellation. */

#define pthread_cleanup_push_defer_np(routine,arg)                            \
  { struct _pthread_cleanup_buffer _buffer;                                   \
    _pthread_cleanup_push_defer (&_buffer, (routine), (arg));

extern void _pthread_cleanup_push_defer __P ((struct _pthread_cleanup_buffer *__buffer,
                                              void (*__routine) (void *),
                                              void *__arg));

This is from sysdeps/pthread/pthread.h in
glibc-linuxthreads-2.0.1.tar.gz.  It was part of an add-on, not glibc
proper.  This may make it a bit difficult to identify the release where
it was definitely removed.

Thanks,
Florian




[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux