Changeset 13100 for trunk/source/level-1


Ignore:
Timestamp:
Oct 26, 2009, 7:58:55 PM (10 years ago)
Author:
rme
Message:

Use package-list locks in DELETE-PACKAGE. (See ticket:616)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/level-1/l1-symhash.lisp

    r13067 r13100  
    631631                        (cerror "Do nothing" 'no-such-package :package package)
    632632                        (return-from delete-package nil)))))
    633   (unless (memq package %all-packages%)
    634     (return-from delete-package nil))
     633  (with-package-list-read-lock
     634    (unless (memq package %all-packages%)
     635      (return-from delete-package nil)))
    635636  (when (pkg.used-by package)
    636637    (cerror "unuse ~S" 'package-is-used-by :package package
     
    641642    (unuse-package (car (pkg.used package)) package))
    642643  (setf (pkg.shadowed package) nil)
    643   (setq %all-packages% (nremove package %all-packages%))
     644  (with-package-list-write-lock
     645    (setq %all-packages% (nremove package %all-packages%)))
    644646  (dolist (n (pkg.names package))
    645647    (let* ((ref (register-package-ref n)))
Note: See TracChangeset for help on using the changeset viewer.