mirror of
https://github.com/microsoft/WSL.git
synced 2026-05-31 16:13:47 -05:00
* merge master -> feature/wsl-for-apps * Update WSLC init and VM to use transaction-based message protocol The merge from master introduced a transaction-based message protocol in SocketChannel.h, but the WSLC code paths were not updated. This caused crashes when creating WSLC sessions because the Linux-side init expected non-transaction messages while the Windows side sent transaction messages. Changes: - WSLCInit.cpp: Update all 13 HandleMessageImpl handlers to accept Transaction& and reply via Transaction.Send/SendResultMessage instead of Channel.SendMessage. Update ProcessMessages loop to use Channel.ReceiveTransaction(). - WSLCVirtualMachine.cpp: Convert remaining non-transaction SendMessage calls (WSLC_WATCH_PROCESSES, WSLC_TTY_RELAY, WSLC_EXEC) to use StartTransaction. Fix ConnectSocket Fd=-1 path to receive the second reply within the same transaction instead of a non-transaction receive.