History

staging: binder: Fix death notifications

The change (008fa749e0fe5b2fffd20b7fe4891bb80d072c6a) that moved the node release code to a separate function broke death notifications in some cases. When it encountered a reference without a death notification request, it would skip looking at the remaining references, and therefore fail to send death notifications for them.

Arve Hjønnevåg committed 12 years ago

Commit e194fd81 parent 6d0abec1 file · +1 −2Browse files

Unified · Split

drivers/staging/android/binder.c+1−2
@@ -2904,7 +2904,7 @@ static int binder_node_release(struct binder_node *node, int refs) · 2903 unmodified lines
29042904 refs++;
29052905
29062906 if (!ref->death)
2907− goto out;
2907+ continue;
29082908
29092909 death++;
29102910
@@ -2917,7 +2917,6 @@ static int binder_node_release(struct binder_node *node, int refs) · 6 unmodified lines
29172917 BUG();
29182918 }
29192919
2920−out:
29212920 binder_debug(BINDER_DEBUG_DEAD_BINDER,
29222921 "node %d now dead, refs %d, death %d\n",
29232922 node->debug_id, refs, death);