On December 13, 2002 03:13 am, Shachar Shemesh wrote:
I am not at all familiar with the wineserver (maybe it's time, eh?). I
Welcome to the club <g>
got the impression it will be difficult to perform this task both without race conditions, and in a way that will put the entire power of Win32 at our disposal.
Well, the resonal I suggest we put it in there is to avoid races. The wineserver is analogous to the kernel in Unix, so it's startup is the closes thing to a boot.
If you (or anyone else who has better familiarity with the server) can recommend a specific source file and line number where such a change can be performed, we can start testing right away.
I was thinking we add it at the very end of the initialization:
Index: server/main.c =================================================================== RCS file: /var/cvs/wine/server/main.c,v retrieving revision 1.28 diff -u -r1.28 main.c --- server/main.c 2 Oct 2002 23:49:30 -0000 1.28 +++ server/main.c 13 Dec 2002 14:48:25 -0000 @@ -126,6 +126,7 @@
if (debug_level) fprintf( stderr, "wineserver: starting (pid=%ld)\n", (long) getpid() ); init_registry(); + if (wine_needs_reboot()) fork(wineboot); /* asynchronously */ select_loop();
#ifdef DEBUG_OBJECTS
But as I said, I have no idea if this is feasible, it just _seems_ to me that it's the closes thing to a reboot, that's all. In fact, chances are it's not the right thing to do, but what a heck! :) Maybe Alexandre can comment on it?