вторник, 23 декабря 2008 г.

garbage-pools-0.1.1

Добавил в garbage-pools одну функцию: cancel-object-cleanup, которая позволяет отменить регистрацию ранее зарегистрированного в пуле объетка. Это приём в стиле C++ : вообще-то, удалять ресурс не собираемся, но в случае возникновения исключения он должен быть удалён, поэтому готовим его к удалению, а в после успешного прохождения опасной зоны спасаем и используем по назначению.

Поскольку успел заюзать эту функцию в cl-libxml2, то в связи с её новым релизом, пришлось строчо выпустить garbage-pools версии 0.1.1 (чуть не забыл это сделать).

4 комментария:

  1. Я новичок в lisp.
    Не получается проинсталить этот пакет :(.
    при (load "????/garbage-pools.asd") emacs slime sbcl ubuntu
    пишет: The function #:ITERATE is undefined.
    При том что (require 'iterate) -> ("ITERATE")

    ОтветитьУдалить
  2. @Andrey
    Для загрузки asdf-систем надо использовать саму asdf:

    (asdf:operate 'asdf:load-op '#:garbage-pools)

    Мануал по asdf доступен здесь: http://common-lisp.net/project/asdf/manual.html

    ОтветитьУдалить
  3. Большое спасибо за ответ archimag.
    Первое что я сделал это попробовал проинсталить пакет с помощью asdf-install, но когда начался инстал то "Lisp connection closed unexpectedly: connection broken by remote peer"

    А на (asdf:operate 'asdf:load-op '#:garbage-pools)
    выдает "component garbage-pools not found".
    Я новичок, может чето не понимаю или не знаю,
    буду благодарен за ответ.

    ОтветитьУдалить
  4. > попробовал проинсталить пакет с
    > помощью asdf-install

    Не, мои пакеты через asdf-install не поставить, я такой цели не ставил. Впрочем, сейчас есть возможность для garbage-pools установить его через мой форк clbuild: http://github.com/archimag/clbuild-archimag. Пользоваться им так же, как и оригинальной версией - http://common-lisp.net/project/clbuild/.

    Либо устанавливать руками. Это, кстати, полезно и даже нужно, разобраться как работает asdf.

    ОтветитьУдалить