libicsneo/platform/windows
Paul Hollinsky 0ce7326b83 Windows: PCAP: Fix a race which could cause transmit delays
If you had a chain of packets being sent all at once, the latter
section of packets could be delayed, theoretically infinitely.

If queue1 was filled and enqueued for transmit, then queue2
had packets enqueued in it while queue1 was still transmitting,
we'd try to fill queue2 further rather than waiting for queue1's
transmit to finish.

However, in that case, we wouldn't check if we could transmit
queue2 again until the next packet. If the user application
was waiting for the response from something in queue2
before pushing more packets, it could hang indefinitely.

This also fixes a subtle bug where hitting the "not safe to try
to fit any more packets in this queue" limit would cause a
packet to drop, as it would be dequeued and then tossed.

Closes GH-42
2022-02-14 19:37:41 -05:00
..
internal Windows: PCAP: Fix Npcap loading for _UNICODE 2021-06-10 15:18:23 -04:00
icsneolegacy.def API: Legacy: Disable octal mappings for non-stubbed functions 2021-06-11 18:42:33 -04:00
pcap.cpp Windows: PCAP: Fix a race which could cause transmit delays 2022-02-14 19:37:41 -05:00
registry.cpp Added support for MinGW32 - to be working with qticsneo 2021-06-15 20:15:08 +02:00
vcp.cpp Allow disconnections to be signaled by drivers 2020-10-08 17:38:10 -04:00