Close the property socket *after* updating properties.

Also remove some dead code.

Bionic update is in change I3e80cecf

Bug: 4185486
Change-Id: I8dd685eaea1a927c1659df5a1228cc259227ad1c
This commit is contained in:
Brad Fitzpatrick 2011-03-30 12:39:56 -07:00
parent b40367e7bc
commit 8ec49049da
1 changed files with 6 additions and 10 deletions

View File

@ -189,15 +189,6 @@ static void update_prop_info(prop_info *pi, const char *value, unsigned len)
__futex_wake(&pi->serial, INT32_MAX);
}
static int property_write(prop_info *pi, const char *value)
{
int valuelen = strlen(value);
if(valuelen >= PROP_VALUE_MAX) return -1;
update_prop_info(pi, value, valuelen);
return 0;
}
/*
* Checks permissions for starting/stoping system services.
* AID_SYSTEM and AID_ROOT are always allowed.
@ -384,8 +375,8 @@ void handle_property_set_fd()
}
r = recv(s, &msg, sizeof(msg), 0);
close(s);
if(r != sizeof(prop_msg)) {
close(s);
ERROR("sys_prop: mis-match msg size recieved: %d expected: %d\n",
r, sizeof(prop_msg));
return;
@ -416,6 +407,11 @@ void handle_property_set_fd()
default:
break;
}
// Note: bionic's property client code assumes that the property
// server will not close the socket until *AFTER* the property is
// written to memory.
close(s);
}
void get_property_workspace(int *fd, int *sz)