<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 18, 2021 at 2:42 AM Zebediah Figura <<a href="mailto:zfigura@codeweavers.com">zfigura@codeweavers.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello all,<br>
</blockquote> <br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
[As a bit of an aside, there are more types of synchronizable objects<br>
than this, including e.g. processes and threads, which much like pidfd<br>
are considered signaled when the process exits. However, these objects<br>
are not thus far a performance concern, and can thus be implemented on<br>
top of one of the objects above.]</blockquote><br><div>Are you sure about that? What about the interaction between I/O and locks? Would it allow us to implement this FIXME in NtLockFile() in dlls/ntdll/unix/file.c:</div><div><br></div><div>    if (apc_user && !warn++) FIXME("I/O completion on lock not implemented yet\n");</div><div><br></div><div>How are other APIs affected, eg. OVERLAPPED, I/O completion ports?</div><div><br></div><div>What about cases where there are multiple handle types combined, eg. WaitForMultipleObjects() on a network socket, a thread handle, and a lock? It would seem the application and/or the wineserver needs a way to poll both fds and locks?<br></div> <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

<br>
That concludes my description and proposal; I'd love to hear your thoughts.<br>
<br></blockquote><div><br></div><div>From what I remember, a long time ago, Cedega ported (or were working on porting) wineserver to the kernel for improved performance. Do we have any idea how that went?</div><div><br></div><div>It's an exciting idea :). It would be great to have "ntsync" on FreeBSD too. Can we please implement it under the BSD licence, or at least dual GPL/BSD?<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
ἔρρωσθε,<br>
Zebediah Figura<br>
(she/her)<br>
<br>
<br></blockquote><div><br></div><div>Damjan Jovanovic</div><div> <br></div></div></div>