Commit Briefs

rsc

Change GET/GBIT32 macros to explicitly cast final result to u32int.

Otherwise, the type of the expression will be int, and if written to a uvlong (or just a ulong on most 64-bit systems), it will be sign-extended. This was going on in drawfcall with Mouse.msec, which is declared as a ulong. This fix assumes that the protocols only send unsigned numbers, which is true.


rsc

In non-blocking recv functions in libmux and libdraw,

distinguish between "cannot receive without blocking" and "EOF on connection". In libmux, do not elect async guys muxers, so that synchronous RPC calls run in the main event loop (e.g., in eresized) do not get stuck. Fixes problem reported by Lu Xuxiao, namely that jpg etc. would spin at 100% cpu usage.



rsc

Fix a handful of small one-time memory leaks in vbackup,

and one per-package memory leak (in writethread).











rsc

update from plan9