-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Closed
Labels
julepJulia Enhancement ProposalJulia Enhancement Proposal
Description
in poll_fd, we see one pattern for waiting on multiple conditions, I propose the following simplification based upon chaining of Condition variables:
wait( cond1 | (cond2 & cond3 & !cond4))=> returns when either cond1 has occurred, or (both cond2 and cond3 have occurred, but cond4 has not occurred)
pseudo implementation:
immutable OrCondition <: Condition; a::Condition; b::Condition; end
immutable AndCondition <: Condition; a::Condition; b::Condition; end
immutable NotCondition <: Condition; a::Condition end
&(a::Condition, b::Condition) = OrCondition(a,b)
|(a::Condition, b::Condition) = AndCondition(a,b)
!(a::Condition) = NotCondition(a)
wait(::OrCondition) = return (wait(a)) or (wait(b)) based upon whichever one occurred
wait(::AndCondition) = return (wait(a), wait(b)) as a tuple
AzamatB
Metadata
Metadata
Assignees
Labels
julepJulia Enhancement ProposalJulia Enhancement Proposal