)]}'
{
  "commit": "c5780e976e19faff345fcef4a01db87108b51a44",
  "tree": "1e75fc4cd3765beb575fb3196a477d97ed1905a4",
  "parents": [
    "3a459756810912d2c2bf188cef566af255936b4d"
  ],
  "author": {
    "name": "Thomas Gleixner",
    "email": "tglx@linutronix.de",
    "time": "Fri Sep 08 09:47:15 2006 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@g5.osdl.org",
    "time": "Fri Sep 08 10:22:50 2006 -0700"
  },
  "message": "[PATCH] Use the correct restart option for futex_lock_pi\n\nThe current implementation of futex_lock_pi returns -ERESTART_RESTARTBLOCK\nin case that the lock operation has been interrupted by a signal.  This\nresults in a return of -EINTR to userspace in case there is an handler for\nthe signal.  This is wrong, because userspace expects that the lock\nfunction does not return in any case of signal delivery.\n\nThis was not caught by my insufficient test case, but triggered a nasty\nuserspace problem in an high load application scenario.  Unfortunately also\nglibc does not check for this invalid return value.\n\nUsing -ERSTARTNOINTR makes sure, that the interrupted syscall is restarted.\n The restart block related code can be safely removed, as the possible\ntimeout argument is an absolute time value.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b9b8aea5389e5c1370352e791ed6e5cda58fb849",
      "old_mode": 33188,
      "old_path": "kernel/futex.c",
      "new_id": "9d260e838cffdca6f951d6625626ab9d62f19d81",
      "new_mode": 33188,
      "new_path": "kernel/futex.c"
    }
  ]
}
