[PATCH 3/3] iphlpapi: Implement CancelIPChangeNotify.

Erich E. Hoover ehoover at mymail.mines.edu
Tue May 7 11:04:01 CDT 2013


On Tue, May 7, 2013 at 3:14 AM, Hans Leidekker <hans at codeweavers.com> wrote:
> ...
> TerminateThread is not the right tool here. If the thread is blocked on the
> recv call while being terminated it will leak the netlink socket.
>
> You'd need a way to synchronize the threads, but an overhead of one thread per
> caller is rather costly in the first place. This suggests that the server should
> poll the socket.

So far the iphlpapi hasn't been doing anything directly with the
server...  How about launching a single thread for NotifyAddrChange
(when needed) and keeping a list of OVERLAPPED structures to signal
when the list changes?  It's easy enough to use MSG_DONTWAIT to make
recv non-blocking so that it's easy to cancel the thread.

Best,
Erich



More information about the wine-devel mailing list