zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

at_quick_exit.c (2047B) - Raw


      1 /* Copyright (C) 1991-2021 Free Software Foundation, Inc.
      2    This file is part of the GNU C Library.
      3 
      4    The GNU C Library is free software; you can redistribute it and/or
      5    modify it under the terms of the GNU Lesser General Public
      6    License as published by the Free Software Foundation; either
      7    version 2.1 of the License, or (at your option) any later version.
      8 
      9    In addition to the permissions in the GNU Lesser General Public
     10    License, the Free Software Foundation gives you unlimited
     11    permission to link the compiled version of this file with other
     12    programs, and to distribute those programs without any restriction
     13    coming from the use of this file. (The GNU Lesser General Public
     14    License restrictions do apply in other respects; for example, they
     15    cover modification of the file, and distribution when not linked
     16    into another program.)
     17 
     18    Note that people who make modified versions of this file are not
     19    obligated to grant this special exception for their modified
     20    versions; it is their choice whether to do so. The GNU Lesser
     21    General Public License gives permission to release a modified
     22    version without this exception; this exception also makes it
     23    possible to release a modified version which carries forward this
     24    exception.
     25 
     26    The GNU C Library is distributed in the hope that it will be useful,
     27    but WITHOUT ANY WARRANTY; without even the implied warranty of
     28    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     29    Lesser General Public License for more details.
     30 
     31    You should have received a copy of the GNU Lesser General Public
     32    License along with the GNU C Library; if not, see
     33    <https://www.gnu.org/licenses/>.  */
     34 
     35 extern void *__dso_handle __attribute__ ((__visibility__ ("hidden")));
     36 extern int __cxa_at_quick_exit (void (*func) (void *), void *d);
     37 
     38 /* Register FUNC to be executed by `quick_exit'.  */
     39 int
     40 __attribute__ ((__visibility__ ("hidden")))
     41 at_quick_exit (void (*func) (void))
     42 {
     43   return __cxa_at_quick_exit ((void (*) (void *)) func, __dso_handle);
     44 }