Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nested handlers #3

Merged
merged 6 commits into from Oct 1, 2014
Merged

Nested handlers #3

merged 6 commits into from Oct 1, 2014

Conversation

guicho271828
Copy link
Owner

the first 3 commits are the same as #2 .
The main contributions are:

  1. Added the nested bindings analogous to handler-bind.
  2. Allowed multiple handlers for the same signal.
  3. Multithreading support.
  4. Toplevel handlers (similar to the previous implementation and *debugger-hook* in condition system, but always superseded by signal-handler-bind)

They required changes in the handler binding structure and how the bindings are applied.

For multithreading support, one-big-global-hash-table for all handlers are turned into dynamic thread-local bindings.
Also, when we implement nested handler bindings (based on nested special binding), making a hash-table for each nesting is space-inefficient. As a result, I used simple alist.

fukamachi added a commit that referenced this pull request Oct 1, 2014
@fukamachi fukamachi merged commit 4fde32b into guicho271828:master Oct 1, 2014
@fukamachi
Copy link
Collaborator

@guicho271828
Thank you for your contributions.

Actually, I don't use this library really often and can't be sure its quality high enough.
Could you maintain this library? I'll transfer this repository if you don't mind.

@guicho271828 guicho271828 deleted the nested-handlers branch October 1, 2014 03:37
@guicho271828
Copy link
Owner Author

alright. I use this library often, so that might be reasonable.

@guicho271828
Copy link
Owner Author

BTW, do you have any idea implementing something like cl21.posix ?
good posix wrapper would be something everyone needs.

@fukamachi
Copy link
Collaborator

Okay, I'm going to transfer.

BTW, do you have any idea implementing something like cl21.posix ?

No ideas yet.

@fukamachi
Copy link
Collaborator

Ooops. It seems you need to delete your forked copy.

screen shot 2014-10-01 at 7 32 55 pm

@guicho271828
Copy link
Owner Author

removed mine.
afaik trivial-signal is already in quicklisp, so we have to tell zach about the transfer.

@fukamachi
Copy link
Collaborator

I requested to transfer. Approve it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants