diff options
| author | Brad Fitzpatrick <bradfitz@android.com> | 2011-03-14 17:09:36 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-03-14 17:09:36 -0700 |
| commit | 7cf20f925d65a8e1575ae48c5b5da7508cbdd477 (patch) | |
| tree | e03dac2b13f5e9987189dfe49a7918f48039e3ca /libcutils | |
| parent | 29d1f53a56fc2eb5a52a80ceb6cfbde778e4bc12 (diff) | |
| parent | eb1f0c6fd162fe34d91e8766e53e440349130a36 (diff) | |
| download | system_core-7cf20f925d65a8e1575ae48c5b5da7508cbdd477.tar.gz system_core-7cf20f925d65a8e1575ae48c5b5da7508cbdd477.tar.bz2 system_core-7cf20f925d65a8e1575ae48c5b5da7508cbdd477.zip | |
Merge "Fix a race in system properties."
Diffstat (limited to 'libcutils')
| -rw-r--r-- | libcutils/properties.c | 40 |
1 files changed, 1 insertions, 39 deletions
diff --git a/libcutils/properties.c b/libcutils/properties.c index 547cc6dc..98f356b7 100644 --- a/libcutils/properties.c +++ b/libcutils/properties.c @@ -31,47 +31,9 @@ #define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_ #include <sys/_system_properties.h> -static int send_prop_msg(prop_msg *msg) -{ - int s; - int r; - - s = socket_local_client(PROP_SERVICE_NAME, - ANDROID_SOCKET_NAMESPACE_RESERVED, - SOCK_STREAM); - if(s < 0) return -1; - - while((r = send(s, msg, sizeof(prop_msg), 0)) < 0) { - if((errno == EINTR) || (errno == EAGAIN)) continue; - break; - } - - if(r == sizeof(prop_msg)) { - r = 0; - } else { - r = -1; - } - - close(s); - return r; -} - int property_set(const char *key, const char *value) { - prop_msg msg; - unsigned resp; - - if(key == 0) return -1; - if(value == 0) value = ""; - - if(strlen(key) >= PROP_NAME_MAX) return -1; - if(strlen(value) >= PROP_VALUE_MAX) return -1; - - msg.cmd = PROP_MSG_SETPROP; - strcpy((char*) msg.name, key); - strcpy((char*) msg.value, value); - - return send_prop_msg(&msg); + return __system_property_set(key, value); } int property_get(const char *key, char *value, const char *default_value) |
