Wine server request serialization IS broken
laurent.pinchart at skynet.be
Sat Apr 20 03:51:12 CDT 2002
I finally manage to understand where the problem comes from. And
unfortunately there's a pretty serious inter process communication problem.
CreateProcess waits until the child process initialization is done. This is
handled by the server, which receives a init_process_done request from the
child process, and then 'wakes' the parent process.
My parent process calls SetThreadContext right after CreateProcess returns.
Unfortunately, that's done in the middle of a wine server call from the child
process (after it has sent the init_process_done request, but before he has
read the reply). This causes some other server calls to be made, and a
desynchronization to occur.
I'll try to have a look at the code to find a way to fix that. As I don't
have a global view of all the wine architecture, I'll probably forget a lot
of side effects, so I'd appreciate very much if someone more experienced than
me could give me a few advices.
Thanks in advance.
More information about the wine-devel