)]}'
{
  "commit": "c5a1ae9a4cc4aef1505fa0aba079f834c3ee1af1",
  "tree": "ce26c29076ae01f762fd5b09becca79ac602a63b",
  "parents": [
    "e312d100f19fdfe1019512b07a9d15653f254abf"
  ],
  "author": {
    "name": "Gerrit Renker",
    "email": "gerrit@erg.abdn.ac.uk",
    "time": "Sun Dec 10 00:09:21 2006 -0200"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@sunset.davemloft.net",
    "time": "Mon Dec 11 14:34:54 2006 -0800"
  },
  "message": "[DCCP] ccid3: Perform history operations only after packet has been sent\n\n This migrates all packet history operations into the routine\n ccid3_hc_tx_packet_sent, thereby removing synchronization problems\n that occur when, as before, the operations are spread over multiple\n routines.\n The following minor simplifications are also applied:\n  * several simplifications now follow from this change - several tests\n    are now no longer required\n  * removal of one unnecessary variable (dp)\n\nJustification:\n\n Currently packet history operations span two different routines,\n one of which is likely to pass through several iterations of sleeping\n and awakening.\n The first routine, ccid3_hc_tx_send_packet, allocates an entry and\n sets a few fields. The remaining fields are filled in when the second\n routine (which is not within a sleeping context), ccid3_hc_tx_packet_sent,\n is called. This has several strong drawbacks:\n  * it is not necessary to split history operations - all fields can be\n    filled in by the second routine\n  * the first routine is called multiple times, until a packet can be sent,\n    and sleeps meanwhile - this causes a lot of difficulties with regard to\n    keeping the list consistent\n  * since both routines do not have a producer-consumer like synchronization,\n    it is very difficult to maintain data across calls to these routines\n  * the fact that the routines are called in different contexts (sleeping, not\n    sleeping) adds further problems\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6bb3f8352dad6b8f91b41c8c29fead88b390e09d",
      "old_mode": 33188,
      "old_path": "net/dccp/ccids/ccid3.c",
      "new_id": "ef68c35183edab75886c1fcf3b77486e145b409b",
      "new_mode": 33188,
      "new_path": "net/dccp/ccids/ccid3.c"
    }
  ]
}
