Browse Source

Move atexit(3) into crtbegin.c and certbeginS.c such that we can pass the

right __dso_handle and have dlopen'ed shared objects run their atexit handlers
when they get unloaded.  This is what Linux does, and several ports depend on
this behaviour (and will crash upon exit without this chang).
Based on an earlier diff from matthew@
Tested by ajacoutot@
ok deraadt@
OPENBSD_5_5
kettenis 10 years ago
parent
commit
b612c6c4a1
1 changed files with 1 additions and 10 deletions
  1. +1
    -10
      src/lib/libc/stdlib/atexit.c

+ 1
- 10
src/lib/libc/stdlib/atexit.c View File

@ -1,4 +1,4 @@
/* $OpenBSD: atexit.c,v 1.16 2013/06/02 21:08:36 matthew Exp $ */
/* $OpenBSD: atexit.c,v 1.17 2013/12/28 18:38:42 kettenis Exp $ */
/*
* Copyright (c) 2002 Daniel Hartmeier
* All rights reserved.
@ -101,15 +101,6 @@ unlock:
return (ret);
}
/*
* Register a function to be performed at exit.
*/
int
atexit(void (*func)(void))
{
return (__cxa_atexit((void (*)(void *))func, NULL, NULL));
}
/*
* Call all handlers registered with __cxa_atexit() for the shared
* object owning 'dso'.


Loading…
Cancel
Save