1. 08 Apr, 2016 2 commits
  2. 07 Apr, 2016 1 commit
  3. 05 Apr, 2016 5 commits
  4. 04 Apr, 2016 6 commits
    • Charles Jacobsen's avatar
    • Charlie Jacobsen's avatar
      Add thc_channel definition, update pieces of interface. · 3e525b06
      Charlie Jacobsen authored
      I realized we need to be doing the state checking in some of
      the other ipc functions (perhaps indirectly, e.g. thc_ipc_call).
      And then it seemed to make more sense to create a
      new data type - a thc channel that wraps a fipc channel with
      extras that we need when doing async stuff. So, we still do
      ref counting, but it's on the thc_channel.
      
      I no longer free the thc_channel when the ref drops. Leave up
      to the libasync user to decide.
      
      I updated the interface so that e.g. thc_ipc_recv now takes
      a struct thc_channel instead.
      3e525b06
    • Charles Jacobsen's avatar
    • Charles Jacobsen's avatar
      Add reference counting and state to channel group items. · 8e602ced
      Charles Jacobsen authored
      Motivation: thc is cooperative, but there are still cases where
      we can get into trouble. In thc_poll_recv, it's possible that
      the awe we switch to (to receive a response) wants to kill the
      channel that we just polled on. In the original implementation,
      after we scheduled that awe, we would eventually come back into
      thc_poll_recv, go to the top of the loop, and try to receive
      again; but instead, we should just abort (and in fact, we would
      be using memory after it had been freed).
      
      When a channel group item is created (with thc_channel_group_item_init),
      its state = LIVE, and its ref count is 1. So, the creating awe
      automatically gets a reference. When another awe wants to grab
      a reference, it should call thc_channel_group_item_inc_ref; and
      to release a reference, thc_channel_group_item_dec_ref. dec ref
      will remove the channel group item from its group and free it
      when the ref count reaches 0. To signal to other awe's (thc async
      threads) that a channel is dead, you should call
      thc_channel_group_item_mark_dead.
      8e602ced
    • Michael Quigley's avatar
    • Charles Jacobsen's avatar
      Update libfipc (add symbol exports) · 12bdeb4f
      Charles Jacobsen authored
      12bdeb4f
  5. 03 Apr, 2016 2 commits
  6. 02 Apr, 2016 4 commits
  7. 01 Apr, 2016 3 commits
  8. 31 Mar, 2016 1 commit
  9. 30 Mar, 2016 8 commits
  10. 28 Mar, 2016 1 commit
  11. 27 Mar, 2016 1 commit
  12. 26 Mar, 2016 1 commit
  13. 25 Mar, 2016 1 commit
  14. 24 Mar, 2016 1 commit
  15. 23 Mar, 2016 1 commit
  16. 22 Mar, 2016 2 commits