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

Reimplement random_bytes to be consistent with endianness #2

Conversation

oprypin
Copy link

@oprypin oprypin commented Aug 28, 2017

No description provided.

@ysbaddaden ysbaddaden merged commit bc7611e into ysbaddaden:std-merge-secure-random-into-random Sep 4, 2017
ysbaddaden added a commit that referenced this pull request Dec 6, 2024
Upgrades the IOCP event loop for Windows to be on par with the Polling event loops (epoll, kqueue) on UNIX. After a few low hanging fruits (enqueue multiple fibers on each call, for example) the last commit completely rewrites the `#run` method:

- store events in pairing heaps;
- high resolution timers (`CreateWaitableTimer`);
- block forever/never (no need for timeout);
- cancelling timeouts (no more dead fibers);
- thread safety (parallel timer de/enqueues) for [RFC #2];
- interrupt run using completion key instead of an UserAPC for [RFC #2] (untested).

[RFC #2]: crystal-lang/rfcs#2
ysbaddaden added a commit that referenced this pull request Dec 6, 2024
- Add the `ExecutionContext` module;
- Add the `ExecutionContext::Scheduler` module;
- Add the `execution_context` compile-time flag.

When the `execution_context` flag is set:

- Don't load `Crystal::Scheduler`;
- Plug `ExecutionContext` instead of `Crystal::Scheduler`.
ysbaddaden added a commit that referenced this pull request Dec 9, 2024
- Add the `ExecutionContext` module;
- Add the `ExecutionContext::Scheduler` module;
- Add the `execution_context` compile-time flag.

When the `execution_context` flag is set:

- Don't load `Crystal::Scheduler`;
- Plug `ExecutionContext` instead of `Crystal::Scheduler`.
ysbaddaden added a commit that referenced this pull request Dec 20, 2024
- Add the `ExecutionContext` module;
- Add the `ExecutionContext::Scheduler` module;
- Add the `execution_context` compile-time flag.

When the `execution_context` flag is set:

- Don't load `Crystal::Scheduler`;
- Plug `ExecutionContext` instead of `Crystal::Scheduler`.
ysbaddaden added a commit that referenced this pull request Jan 6, 2025
- Add the `ExecutionContext` module;
- Add the `ExecutionContext::Scheduler` module;
- Add the `execution_context` compile-time flag.

When the `execution_context` flag is set:

- Don't load `Crystal::Scheduler`;
- Plug `ExecutionContext` instead of `Crystal::Scheduler`.
ysbaddaden added a commit that referenced this pull request Jan 7, 2025
- Add the `ExecutionContext` module;
- Add the `ExecutionContext::Scheduler` module;
- Add the `execution_context` compile-time flag.

When the `execution_context` flag is set:

- Don't load `Crystal::Scheduler`;
- Plug `ExecutionContext` instead of `Crystal::Scheduler`.
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.

2 participants