475a44f0e2
If dynamic channels are not completely initialized, the server will reuse those channel numbers for new channels. This causes interesting problems when the server asks for a channel by number, as we can end up with multiple channels with the same number. Log example of the problem: DBG_DVC drdynvc_process_receive (341): Cmd=0x1 DBG_DVC drdynvc_process_create_request (249): ChannelId=0 ChannelName=PNPDR DBG_DVC drdynvc_process_create_request (265): no listener DBG_DVC drdynvc_process_receive (341): Cmd=0x1 DBG_DVC drdynvc_process_create_request (249): ChannelId=0 ChannelName=TSMF DBG_DVC tsmf_on_new_channel_connection (378): DBG_DVC dvcman_create_channel (415): listener TSMF created new channel 0 DBG_DVC drdynvc_process_create_request (260): channel created DBG_DVC drdynvc_process_receive (341): Cmd=0x3 DBG_DVC drdynvc_process_data (311): ChannelId=0 Warning dvcman_receive_channel_data (517): ChannelId 0 not ready! In this log, we received data intended for TSMF, but the channel lookup found the incompletely initialized PNPDR. |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
drdynvc_main.c | ||
drdynvc_main.h | ||
drdynvc_types.h | ||
dvcman.c | ||
dvcman.h |