OSDN Git Service

Correction to use of TEMP_FAILURE_RETRY in send_prop_msg
authorJens Gulin <jens.gulin@sonymobile.com>
Thu, 19 Jul 2012 12:10:46 +0000 (14:10 +0200)
committerJohan Redestig <johan.redestig@sonymobile.com>
Fri, 27 Jul 2012 13:18:23 +0000 (15:18 +0200)
RETRY macro may retry command if result is -1. In this
case the command was "connect < 0" instead of just
connect. The comparison will not return -1 and thus
retry is never done. This is now corrected so that
interrupts will cause retry instead of fail.

(There was no other negative side effect of the bug.
The result code from RETRY was used in an if-statement
and it would be true for all negative connect results.
This was according to expectations.)

Change-Id: Ie206b39878e9befea4e3be9a4061ee39eb232d80

libc/bionic/system_properties.c

index 0f4e70c..caa5ca6 100644 (file)
@@ -176,7 +176,7 @@ static int send_prop_msg(prop_msg *msg)
     addr.sun_family = AF_LOCAL;
     alen = namelen + offsetof(struct sockaddr_un, sun_path) + 1;
 
-    if(TEMP_FAILURE_RETRY(connect(s, (struct sockaddr *) &addr, alen) < 0)) {
+    if(TEMP_FAILURE_RETRY(connect(s, (struct sockaddr *) &addr, alen)) < 0) {
         close(s);
         return result;
     }