• Marek Vavrusa's avatar
    evsched: removed deprecated evqueue and streamlined the API · a719e0cb
    Marek Vavrusa authored
    * events now carry pointer to their scheduler
    * no event types, events are simple callbacks
    * removed unused or deprecated stuff
    * bugfix: zone never expired since expire was initialized on create
    * bugfix: race condition on rescheduling events
      - there is always some time between cancel and schedule
      - if two threads run run past the cancel and then race for schedule,
        they may rarely schedule an event two times
      - this is hard to deal with unless we place a lock on the zone
        operations, therefore each schedule checks heap if the event is not
        already scheduled and if it is, it replaces the old instance
    a719e0cb