srtgo
srtgo copied to clipboard
Windows build and SetDeadline deadlock fixes
There are 2 fixes:
- accept.go can't be compiled under Windows because of missing syscall.SizeofSockaddrAny
- SetDeadline has deadlock because it calls pd.lock.Lock() at the start and then in unblock it tried to call pd.lock.Lock() again. But mutexes in go are different from posix because Go mutexes cannot be locked again even in the same thread/coroutine. Also, locks in poll.unblock are unnecessary and can be replaced by one SwapInt32 instead of load and store.