bb46afd6c4
This reverts commit c8bae05f3ff9f1c736f7be70fa17d02795d748bb. We were breaking init (ueventd) because we initialize system properties before we initialize stdio. The new system property implementation uses stdio to read from /property_contexts, so we end up touching stdio data structures before they've been initialized. This second attempt takes things further by removing the stdio initialization function altogether. The data structures for stdin/stdout/stderr can be statically initialized as data, and -- since we already had to give the atexit implementation a backdoor for stdio -- we can just admit that we need to clean up stdio, and that we always do so last. This patch also removes the 17 statically pre-allocated file structures, so the first fopen will now allocate a block of 10 (the usual overflow behavior). I did this just to make my life simpler, but it's not actually necessary to remove it if we want it back. Change-Id: I936b2eb5e88e4ebaf5516121872b71fc88e5609c