~ubuntu-branches/ubuntu/precise/eglibc/precise-201308281639

« back to all changes in this revision

Viewing changes to ports/sysdeps/unix/sysv/aix/dl-close.c

  • Committer: Package Import Robot
  • Author(s): Matthias Klose
  • Date: 2012-02-08 01:58:09 UTC
  • mfrom: (1.5.3) (288.1.12 precise)
  • Revision ID: package-import@ubuntu.com-20120208015809-ulscst7uteq3e22z
Tags: 2.15~pre6-0ubuntu10
Merge from Debian (r5151, 2.13-26).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* Copyright (C) 2001 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
 
   The GNU C Library is distributed in the hope that it will be useful,
10
 
   but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12
 
   Lesser General Public License for more details.
13
 
 
14
 
   You should have received a copy of the GNU Lesser General Public
15
 
   License along with the GNU C Library; if not, write to the Free
16
 
   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
17
 
   02111-1307 USA.  */
18
 
 
19
 
#include <stdarg.h>
20
 
#include <stdlib.h>
21
 
#include <sys/types.h>
22
 
#include <errno.h>
23
 
#include <dlfcn.h>
24
 
#include <dlldr.h>
25
 
 
26
 
extern int _dl_numso;
27
 
extern DL_SODATA *_dl_sotable;
28
 
 
29
 
void
30
 
_dl_close (void *handle)
31
 
{
32
 
  if ((int) handle < 0 || (int) handle >= _dl_numso || _dl_sotable == NULL)
33
 
    {
34
 
      errno = EINVAL;
35
 
      return;
36
 
    }
37
 
 
38
 
  if (_dl_sotable[(int) handle].handle != 0)
39
 
    __unload (_dl_sotable[(int) handle].handle);
40
 
 
41
 
  _dl_sotable[(int) handle].index = 0;
42
 
  _dl_sotable[(int) handle].dataorg = 0;
43
 
  _dl_sotable[(int) handle].handle = 0;
44
 
  _dl_sotable[(int) handle].type = 0;
45
 
}
46