1.Dd Nov 6, 2006 2.Dt DLCLOSE 3 3.Sh NAME 4.Nm dlclose 5.Nd close a dynamic library or bundle 6.Sh SYNOPSIS 7.In dlfcn.h 8.Ft int 9.Fn dlclose "void* handle" 10.Sh DESCRIPTION 11.Fn dlclose 12releases a reference to the dynamic library or bundle referenced by 13.Fa handle . 14If the reference count drops to 0, the bundle is removed from the 15address space, and 16.Fa handle 17is rendered invalid. 18Just before removing a dynamic library or bundle in this way, any 19termination routines in it are called. 20.Fa handle 21is the value returned by a previous call to dlopen. 22.Pp 23Prior to Mac OS X 10.5, only bundles could be unloaded. Starting in Mac OS X 10.5, 24dynamic libraries may also be unloaded. There are a couple of cases in which a 25dynamic library will never be unloaded: 1) the main executable links against it, 262) An API that does not supoort unloading (e.g. NSAddImage()) was used to load 27it or some other dynnamic library that depends on it, 3) the dynamic library 28is in dyld's shared cache. 29.Sh RETURN VALUES 30If 31.Fn dlclose 32is successful, it returns a value of 0. 33Otherwise it returns -1, and sets an error string that can be 34retrived with 35.Fn dlerror . 36.Pp 37.Sh SEE ALSO 38.Xr dlopen 3 39.Xr dlsym 3 40.Xr dlerror 3 41.Xr dyld 3 42.Xr ld 1 43.Xr cc 1 44