Skip to content

Two consecutive signals cause a handler loop #188

Closed
@Enchufa2

Description

@Enchufa2

Only when the handler is interruptible:

library(simmer)

new_timeout <- trajectory() %>%
  log_("new timeout") %>%
  timeout(1)

customer <- trajectory() %>%
  trap("signal", new_timeout) %>%
  timeout(5) %>%
  log_("out")

blocker <- trajectory() %>%
  send("signal") %>%
  send("signal")

simmer() %>%
  add_generator("customer", customer, at(0)) %>%
  add_generator("blocker", blocker, at(2)) %>%
  run(10)
#> 2: customer0: new timeout
#> 3: customer0: new timeout
#> 4: customer0: new timeout
#> 5: customer0: new timeout
#> 6: customer0: new timeout
#> 7: customer0: new timeout
#> 8: customer0: new timeout
#> 9: customer0: new timeout

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions