Changeset 10538
- Timestamp:
- 08/22/08 10:23:35 (3 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/working-0711/ccl/level-1/linux-files.lisp
r10399 r10538 552 552 553 553 ;;; Kind of has something to do with files, and doesn't work in level-0. 554 #+ linux-target554 #+(or linux-target freebsd-target solaris-target) 555 555 (defun close-shared-library (lib &key (completely t)) 556 556 "If completely is T, set the reference count of library to 0. Otherwise, … … 562 562 (error "Shared library ~s not found." lib)) 563 563 (require-type lib 'shlib))) 564 (map (shlib.map lib))) 565 (unless (shlib.opened-by-lisp-kernel lib) 566 (when map 564 (handle (shlib.handle lib))) 565 (when handle 567 566 (let* ((found nil) 568 567 (base (shlib.base lib))) 569 568 (do* () 570 569 ((progn 571 (#_dlclose map)570 (#_dlclose handle) 572 571 (or (not (setq found (shlib-containing-address base))) 573 572 (not completely))))) … … 575 574 (setf (shlib.pathname lib) nil 576 575 (shlib.base lib) nil 576 (shlib.handle lib) nil 577 577 (shlib.map lib) nil) 578 578 (unload-foreign-variables lib) 579 (unload-library-entrypoints lib)))))) )579 (unload-library-entrypoints lib)))))) 580 580 581 581 #+darwin-target
