[SERVER-43665] Add support for inline deadline + uninterruptibility in Interruptible Created: 26/Sep/19  Updated: 24/Aug/23  Resolved: 24/Aug/23

Status: Closed
Project: Core Server
Component/s: Internal Code
Affects Version/s: None
Fix Version/s: None

Type: New Feature Priority: Major - P3
Reporter: Mira Carey Assignee: Backlog - Service Architecture
Resolution: Declined Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Service Arch
Backwards Compatibility: Fully Compatible
Participants:

 Description   

Add support for a single level form of subsidiary deadlines + uninterruptibility in Interruptible with a syntax that looks like:

future.get(interruptible->makeTimer(deadline, code));

That syntax should produce a type convertible to an Interruptible* which wraps underlying calls to checkForInterrupt or waitForConditionOrInterruptUntil calls in the appropriate guards. It should replace the more wordy:

interruptible->runWithDeadline(deadline, code, [&]{
  future.get(interruptible);
});

when a subsidiary deadline or uninterruptible invocation is needed at the very bottom of the callstack.

That type should not nest and should not alter the state of the parent interruptible



 Comments   
Comment by Lauren Lewis (Inactive) [ 21/Dec/21 ]

We haven’t heard back from you in at least 1 year, so I'm going to close this ticket. If this is still an issue for you, please provide additional information and we will reopen the ticket.

Generated at Thu Feb 08 05:03:46 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.