aboutsummaryrefslogtreecommitdiff
path: root/sunrpc
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2003-02-22 00:55:36 +0000
committerRoland McGrath <roland@gnu.org>2003-02-22 00:55:36 +0000
commite8783fd53d5d673eab4500d2cac82601f2f802e0 (patch)
tree153d45b1e7c9b279d5304b4cc88e495aa9341363 /sunrpc
parent113d33e776f6ab899016aa2220b8a43a271f5e7f (diff)
downloadglibc-e8783fd53d5d673eab4500d2cac82601f2f802e0.tar
glibc-e8783fd53d5d673eab4500d2cac82601f2f802e0.tar.gz
glibc-e8783fd53d5d673eab4500d2cac82601f2f802e0.tar.bz2
glibc-e8783fd53d5d673eab4500d2cac82601f2f802e0.zip
* malloc/Versions (GLIBC_PRIVATE): Add __libc_thread_freeres.
* malloc/thread-freeres.c: New file. * malloc/Makefile (aux): Add it. * sunrpc/Versions (GLIBC_PRIVATE): Removed. * sunrpc/rpc_thread.c (__rpc_thread_destroy): Put in special section "__libc_thread_freeres_fn" and add to __libc_thread_subfreeres set. * sysdeps/unix/sysv/linux/i386/geteuid.c (__geteuid): Typo fix. * sysdeps/unix/sysv/linux/i386/getgid.c (__getgid): Typo fix. 2003-02-21 Roland McGrath <roland@frob.com> * sysdeps/mach/hurd/opendir.c (__opendir): Use O_NONBLOCK in open. * iconvdata/Makefile (tests): Add bug-iconv3 only if [$(have-thread-library) = yes].
Diffstat (limited to 'sunrpc')
-rw-r--r--sunrpc/Versions4
-rw-r--r--sunrpc/rpc_thread.c3
2 files changed, 2 insertions, 5 deletions
diff --git a/sunrpc/Versions b/sunrpc/Versions
index d86d40a10b..b800172e08 100644
--- a/sunrpc/Versions
+++ b/sunrpc/Versions
@@ -113,8 +113,4 @@ libc {
__rpc_thread_svc_fdset; __rpc_thread_createerr;
__rpc_thread_svc_pollfd; __rpc_thread_svc_max_pollfd;
}
- GLIBC_PRIVATE {
- # needed by libpthread.
- __rpc_thread_destroy; __libc_tsd_RPC_VARS;
- }
}
diff --git a/sunrpc/rpc_thread.c b/sunrpc/rpc_thread.c
index df48c31a8f..9a3d4dbd0c 100644
--- a/sunrpc/rpc_thread.c
+++ b/sunrpc/rpc_thread.c
@@ -15,7 +15,7 @@ __libc_tsd_define (, RPC_VARS)
/*
* Task-variable destructor
*/
-void
+void __attribute__ ((section ("__libc_thread_freeres_fn")))
__rpc_thread_destroy (void)
{
struct rpc_thread_variables *tvp = __libc_tsd_get (RPC_VARS);
@@ -32,6 +32,7 @@ __rpc_thread_destroy (void)
free (tvp);
}
}
+text_set_element (__libc_thread_subfreeres, __rpc_thread_destroy);
/*