Skip to content

Conversation

@brig
Copy link
Contributor

@brig brig commented Oct 8, 2024

ConcurrentProcessFilter adds an exclusive wait condition to the process,
transitions the process from ENQUEUED -> WAITING, and marks it with PROCESS_WAIT_CONDITIONS.IS_WAITING=true.

ProcessWaitWatchdog processes the exclusive wait condition first, transitions the process from WAITING -> ENQUEUED,
and marks it with PROCESS_WAIT_CONDITIONS.IS_WAITING=false.

This is a symmetric action. As a result, the process will return to the state it was in.

If the process has PROCESS_WAIT_CONDITIONS.IS_WAITING=true and does not have an exclusive wait condition,
for example, if the process is waiting for a child to finish,
then the process will be in the SUSPENDED state.
When the wait condition is met, the process will be resumed and transition from SUSPENDED -> RESUMING -> ENQUEUED
with PROCESS_WAIT_CONDITIONS.IS_WAITING=false

@brig brig marked this pull request as ready for review October 8, 2024 18:26
@brig brig requested a review from a team October 8, 2024 18:26
@ibodrov ibodrov merged commit 119a455 into master Oct 9, 2024
3 of 4 checks passed
@ibodrov ibodrov deleted the brig-patch-1 branch October 9, 2024 10:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants