<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-rtmock/src/task.rs, branch arti-v1.4.2</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.2</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.4.2'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-03-04T17:33:25Z</updated>
<entry>
<title>tor-rtcompat: Rename spawn_thread to spawn_blocking</title>
<updated>2025-03-04T17:33:25Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-03-04T15:39:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=11049b07c419fc7544c382a98ea8366d6b468daf'/>
<id>urn:sha1:11049b07c419fc7544c382a98ea8366d6b468daf</id>
<content type='text'>
Let's use Tokio terminology here.
</content>
</entry>
<entry>
<title>tor-rtcompat: Remove the TODO re #1835</title>
<updated>2025-03-04T17:33:25Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-03-04T15:25:37Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1cec18452f04590dcc3283f37a6d068d4516f2a2'/>
<id>urn:sha1:1cec18452f04590dcc3283f37a6d068d4516f2a2</id>
<content type='text'>
This is the TODO we are fixing with this MR.
</content>
</entry>
<entry>
<title>tor-rtcompat: Explain Sendness of reenter_block_on future</title>
<updated>2025-03-04T17:33:25Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-03-04T15:19:11Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=37349a1894eead4747ec75b1998656aa83636a0d'/>
<id>urn:sha1:37349a1894eead4747ec75b1998656aa83636a0d</id>
<content type='text'>
Prompted by
  https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2810#note_3167975

Also allow ourselves the option of changing this in the future.
</content>
</entry>
<entry>
<title>tor-rtmocK; Detect wrong-context blocking_io and spawn_thread</title>
<updated>2025-03-04T17:33:25Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-02-26T17:23:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d423b695d5bf2c1c8490f41130e04fc1da4a526a'/>
<id>urn:sha1:d423b695d5bf2c1c8490f41130e04fc1da4a526a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-rtmock: Split out spawn_thread_inner</title>
<updated>2025-03-04T17:33:25Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-02-26T18:13:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=cb1427f2e2d9b7d2b4e78603f6f2d8dcb8832769'/>
<id>urn:sha1:cb1427f2e2d9b7d2b4e78603f6f2d8dcb8832769</id>
<content type='text'>
This will let us call _inner from blocking_io, with a different
precondition.  No functional change.
</content>
</entry>
<entry>
<title>tor-rtmocK; Detect re-entry into MockExecutor</title>
<updated>2025-03-04T17:33:25Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-02-26T17:20:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d05af51043bbe652c758a6deabb41a103e9cb4b5'/>
<id>urn:sha1:d05af51043bbe652c758a6deabb41a103e9cb4b5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-rtmock: task: Remove Default impl for ThreadDescriptor</title>
<updated>2025-03-04T17:33:25Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-02-26T17:19:40Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=37a1010070fa1cfd3d13adc4d5788def2c8ee115'/>
<id>urn:sha1:37a1010070fa1cfd3d13adc4d5788def2c8ee115</id>
<content type='text'>
This is going to become a hazard.  Let's be explicit.

This means using educe to derive the Default for Data.

We also need to update our educe dependency to 0.4.22, since that's
when Default(expression= "...") started working correctly.
</content>
</entry>
<entry>
<title>tor-rtmock: Split out executor_main_loop</title>
<updated>2025-03-04T17:30:43Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-02-26T16:47:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b3f6de9e1c2955a76f16a5bdf006710c73625c4e'/>
<id>urn:sha1:b3f6de9e1c2955a76f16a5bdf006710c73625c4e</id>
<content type='text'>
execute_until_first_stall is now simply a wrapper which does some
logging.  It will do a bit more in a moment.

Giving the inner function a more obvious name is helpful, since the
executor main loop is a thing one is often looking for.
</content>
</entry>
<entry>
<title>tor-rt*: Apply deferred formatting churn</title>
<updated>2025-03-04T17:30:43Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-02-26T18:13:00Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=39409be0db4def9ca5ffbd3bd14766112bcab527'/>
<id>urn:sha1:39409be0db4def9ca5ffbd3bd14766112bcab527</id>
<content type='text'>
rustfmt.
</content>
</entry>
<entry>
<title>tor-rtcompat: Provide a new function for executor re-entry</title>
<updated>2025-03-04T17:30:43Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-02-26T16:03:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=878c32bc1e9027fa3cf405c87f5323b94969b0fb'/>
<id>urn:sha1:878c32bc1e9027fa3cf405c87f5323b94969b0fb</id>
<content type='text'>
Forbid re-entering the executor using ToplevelBlockOn::block_on.

This was always forbidden in the case of MockExecutor, but that meant
that tests using MockExecutor would malfunction if the code under test
needed to re-enter the executor from sync code (since the code under test
would have to use block_on, which wrong).  See #1835.

Provide a function which *can* do this, reenter_block_on.  The
MockExecutor needs to know the difference, and other runtimes may too.
They are conceptually quite different operations.

Introduce ToplevelRuntime as a convenience alias.
</content>
</entry>
</feed>
