dlclose man page on Archlinux

Man page or keyword search:  
man Server   11224 pages
apropos Keyword Search (all sections)
Output format
Archlinux logo
[printable version]

DLCLOSE(3P)		   POSIX Programmer's Manual		   DLCLOSE(3P)

PROLOG
       This  manual  page is part of the POSIX Programmer's Manual.  The Linux
       implementation of this interface may differ (consult the	 corresponding
       Linux  manual page for details of Linux behavior), or the interface may
       not be implemented on Linux.

NAME
       dlclose — close a symbol table handle

SYNOPSIS
       #include <dlfcn.h>

       int dlclose(void *handle);

DESCRIPTION
       The dlclose() function shall inform the system that  the	 symbol	 table
       handle specified by handle is no longer needed by the application.

       An  application	writer may use dlclose() to make a statement of intent
       on the part of the process, but this  statement	does  not  create  any
       requirement  upon  the  implementation. When the symbol table handle is
       closed, the implementation may unload the executable object files  that
       were  loaded  by	 dlopen()  when the symbol table handle was opened and
       those that were loaded by dlsym() when using the	 symbol	 table	handle
       identified by handle.

       Once  a	symbol	table  handle  has  been closed, an application should
       assume that any symbols (function identifiers and data  object  identi‐
       fiers)  made  visible  using  handle,  are  no  longer available to the
       process.

       Although a dlclose() operation is not required to remove any  functions
       or  data	 objects  from the address space, neither is an implementation
       prohibited from doing so. The only restriction on  such	a  removal  is
       that  no	 function nor data object shall be removed to which references
       have been relocated, until or unless all such references	 are  removed.
       For  instance,  an  executable  object file that had been loaded with a
       dlopen() operation specifying the RTLD_GLOBAL flag might provide a tar‐
       get  for dynamic relocations performed in the processing of other relo‐
       catable objects—in such environments, an application may assume that no
       relocation,  once made, shall be undone or remade unless the executable
       object file containing the relocated object has itself been removed.

RETURN VALUE
       If  the	referenced  symbol  table  handle  was	successfully   closed,
       dlclose()  shall	 return	 0. If handle does not refer to an open symbol
       table handle or if  the	symbol	table  handle  could  not  be  closed,
       dlclose()  shall	 return	 a  non-zero  value.  More detailed diagnostic
       information shall be available through dlerror().

ERRORS
       No errors are defined.

       The following sections are informative.

EXAMPLES
       The following example illustrates use of dlopen() and dlclose():

	   #include <dlfcn.h>
	   int eret;
	   void *mylib;
	   ...
	   /* Open a dynamic library and then close it ... */
	   mylib = dlopen("mylib.so", RTLD_LOCAL | RTLD_LAZY);
	   ...
	   eret = dlclose(mylib);
	   ...

APPLICATION USAGE
       A conforming application should employ a symbol table  handle  returned
       from  a	dlopen()  invocation  only within a given scope bracketed by a
       dlopen() operation and the corresponding dlclose() operation. Implemen‐
       tations	are  free  to  use reference counting or other techniques such
       that multiple calls to dlopen() referencing the same executable	object
       file  may  return a pointer to the same data object as the symbol table
       handle.

       Implementations are also free to re-use a handle.  For  these  reasons,
       the  value  of  a  handle must be treated as an opaque data type by the
       application, used only in calls to dlsym() and dlclose().

RATIONALE
       None.

FUTURE DIRECTIONS
       None.

SEE ALSO
       dlerror(), dlopen(), dlsym()

       The Base Definitions volume of POSIX.1‐2008, <dlfcn.h>

COPYRIGHT
       Portions of this text are reprinted and reproduced in  electronic  form
       from IEEE Std 1003.1, 2013 Edition, Standard for Information Technology
       -- Portable Operating System Interface (POSIX),	The  Open  Group  Base
       Specifications Issue 7, Copyright (C) 2013 by the Institute of Electri‐
       cal and Electronics Engineers,  Inc  and	 The  Open  Group.   (This  is
       POSIX.1-2008  with  the	2013  Technical Corrigendum 1 applied.) In the
       event of any discrepancy between this version and the original IEEE and
       The  Open Group Standard, the original IEEE and The Open Group Standard
       is the referee document. The original Standard can be  obtained	online
       at http://www.unix.org/online.html .

       Any  typographical  or  formatting  errors that appear in this page are
       most likely to have been introduced during the conversion of the source
       files  to  man page format. To report such errors, see https://www.ker‐
       nel.org/doc/man-pages/reporting_bugs.html .

IEEE/The Open Group		     2013			   DLCLOSE(3P)
[top]

List of man pages available for Archlinux

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net