https://bugs.winehq.org/show_bug.cgi?id=17195
--- Comment #162 from Sebastian Lackner sebastian@fds-team.de --- When SO_PEEK_OFF is not supported, then my implementation will fall back to SOCK_STREAM sockets. This is also the behaviour for kernels < 3.4. Without having SO_PEEK_OFF its not possible to receive parts of a message, so it will not be used at all, to prevent regressions. In this case the patches will only fix the SetNamedPipeHandleState issue, but not all the other details (and will print fixmes). For FreeBSD we would need a similar functionality. If someone experienced with the FreeBSD kernel has some time, feel free to join #wine-compholio (on freenode) to discuss the details about possible implementations. We need either a completely different solution (if available), or will have to reimplement SO_PEEK_OFF there.
BTW, short status update: The first four relatively small Wine patches (which should be definitely correct) are currently waiting to be reviewed. Besides that I'm just updating some later patches in the series, some additional tests revealed that overlapped stuff doesn't work correctly yet, with both Adams and my patchset. Moreover we're preparing some kernel patches, we discovered some weird behaviour for zero byte reads, which can be considered a kernel bug... ;)