Its purpose is to contact the 'boot-properties' service during the
boot process and to set the list of system properties read from the
emulator program through it.
It must be launched from /system/etc/init.goldfish.rc as root.
It depends on the 'boot-properties' service being implemented by the
emulator (in a later patch). If not available, it will simply timeout.
This also fixes a potential crash in qemud which can happen in the following case:
- client sends a command to a service
- the service responds with one or more message
- the service immediately closes the connection before the client can read the data
what happened is that the FDHandler object was buffering out-going packets to the
client, but the Multiplexer acted on the disconnection immediately. This resulted
in:
- client_free() being called
- fdhandler_shutdown() being called
- the FDHandler being placed on the 'closing' list to be able to send
buffered packets later. And 'receiver_close' being called
- client_fd_close() being called, which would call client_free()
recursively
- the second client_free() call would free the object
- the first client_free() call would try to free the object again
- ==> dlmalloc() detects a double-free and immediately aborts.
the fixes simply avoids the calle to receiver_close() in fdhandler_shutdown()
since this function is called from an explicit shutdown request from the multiplexer,
it doesn't correspond to the case where the client has closed the connection itself.
without this, networking doesn't work well when using the 1.1 add-on with
the cupcake sdk
Original author: digit
Merged from: //branches/cupcake/...
Automated import of CL 146315
Note that this also fix a bug where the SD Card image was not properly locked in the previous implementation.
Allow the http-proxy support code to actually manage to receive chunked encoding data, instead of complaining needlessly.
Introduce a new CharBuffer object that is used indirectly by "-radio <hostdevice>" and "-gps <hostdevice>" options
Add new documentation for QEMUD and CharDriverState objects
Update the Audio documentation with ASCII graphics (because I'm an artist too)
Original author: digit
Merged from: //branches/cupcake/...
Automated import of CL 144596