Skip to content

Dead lock when printing objects with *print-circle* #465

@Affonso-Gui

Description

@Affonso-Gui

How to reproduce:

(setq c (instance object))
(setq *print-circle* t)
c
;; dead lock

What is happening:

  1. prinx
  2. mutex_lock to keep mark&unmark together (https://github.com/euslisp/EusLisp/blob/master/lisp/c/printer.c#L622-L630)
  3. prin1
  4. send obj :prin1 (https://github.com/euslisp/EusLisp/blob/master/lisp/c/printer.c#L589)
  5. format ... (https://github.com/euslisp/EusLisp/blob/master/lisp/l/object.l#L15-L20)
  6. prinx
  7. dead lock

Not really sure how we should solve this... 🤔

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions