diff --git a/adb/adb.c b/adb/adb.c index 0e41b34c6..018dd3c45 100644 --- a/adb/adb.c +++ b/adb/adb.c @@ -1347,12 +1347,11 @@ int adb_main(int is_daemon, int server_port) ** AID_NET_BT and AID_NET_BT_ADMIN to diagnose bluetooth (hcidump) ** AID_SDCARD_R to allow reading from the SD card ** AID_SDCARD_RW to allow writing to the SD card - ** AID_MOUNT to allow unmounting the SD card before rebooting ** AID_NET_BW_STATS to read out qtaguid statistics */ gid_t groups[] = { AID_ADB, AID_LOG, AID_INPUT, AID_INET, AID_GRAPHICS, AID_NET_BT, AID_NET_BT_ADMIN, AID_SDCARD_R, AID_SDCARD_RW, - AID_MOUNT, AID_NET_BW_STATS }; + AID_NET_BW_STATS }; if (setgroups(sizeof(groups)/sizeof(groups[0]), groups) != 0) { exit(1); } diff --git a/adb/services.c b/adb/services.c index 5b63a43ba..dcaf276b8 100644 --- a/adb/services.c +++ b/adb/services.c @@ -116,23 +116,10 @@ void reboot_service(int fd, void *arg) { char buf[100]; char property_val[PROPERTY_VALUE_MAX]; - int pid, ret; + int ret; sync(); - /* Attempt to unmount the SD card first. - * No need to bother checking for errors. - */ - pid = fork(); - if (pid == 0) { - /* ask vdc to unmount it */ - execl("/system/bin/vdc", "/system/bin/vdc", "volume", "unmount", - getenv("EXTERNAL_STORAGE"), "force", NULL); - } else if (pid > 0) { - /* wait until vdc succeeds or fails */ - waitpid(pid, &ret, 0); - } - ret = snprintf(property_val, sizeof(property_val), "reboot,%s", (char *) arg); if (ret >= (int) sizeof(property_val)) { snprintf(buf, sizeof(buf), "reboot string too long. length=%d\n", ret); diff --git a/rootdir/init.rc b/rootdir/init.rc index 0ef097c47..81d173abe 100644 --- a/rootdir/init.rc +++ b/rootdir/init.rc @@ -144,6 +144,11 @@ loglevel 3 # checker programs. mkdir /dev/fscklogs 0770 root system +# pstore/ramoops previous console log + mount pstore pstore /sys/fs/pstore + chown system log /sys/fs/pstore/console-ramoops + chmod 0440 /sys/fs/pstore/console-ramoops + on post-fs # once everything is setup, no need to modify / mount rootfs rootfs / ro remount @@ -381,6 +386,9 @@ on boot setprop net.tcp.buffersize.gprs 4092,8760,48000,4096,8760,48000 setprop net.tcp.buffersize.evdo 4094,87380,262144,4096,16384,262144 +# Define default initial receive window size in segments. + setprop net.tcp.default_init_rwnd 60 + class_start core class_start main @@ -413,9 +421,15 @@ on property:vold.decrypt=trigger_shutdown_framework on property:sys.powerctl=* powerctl ${sys.powerctl} -# system server cannot write to /proc/sys files, so proxy it through init +# system server cannot write to /proc/sys files, +# and chown/chmod does not work for /proc/sys/ entries. +# So proxy writes through init. on property:sys.sysctl.extra_free_kbytes=* write /proc/sys/vm/extra_free_kbytes ${sys.sysctl.extra_free_kbytes} +# "tcp_default_init_rwnd" Is too long! +on property:sys.sysctl.tcp_def_init_rwnd=* + write /proc/sys/net/ipv4/tcp_default_init_rwnd ${sys.sysctl.tcp_def_init_rwnd} + ## Daemon processes to be run by init. ##