Ulrich Weigand
3dff7bb842
Modularized CallFrom/To16 routines. Adapted dependent routines,
...
16-bit snoop/relay debugging, and make rules.
1999-07-11 13:58:31 +00:00
Howard Abrams
132774804e
Added checks for sys/errno.h, sys/signal.h and sys/mman.h.
1999-07-10 13:16:29 +00:00
Ulrich Weigand
203780eb6e
Removed all EVENT_Synchronize( FALSE ) calls; use a periodic callback
...
calling XFlush() instead.
1999-07-10 10:24:31 +00:00
Ulrich Weigand
fbea530884
On NE process creation, move major part of NE EXE module loading and
...
NE instance creation into the child process.
1999-07-03 12:26:29 +00:00
Alexandre Julliard
617955db88
Changed CONTEXT into CONTEXT86 everywhere we really want an i386
...
context.
Added #ifdef __i386__ around accesses to 386 registers in the generic
CONTEXT structure.
1999-06-26 18:40:24 +00:00
Patrik Stridvall
1ed4ecffa8
ANSI C fixes.
...
Removed warnings.
Made the include files self-sufficient.
Some Solaris fixes.
1999-06-26 14:58:24 +00:00
Alexandre Julliard
ebe29ef376
Further server optimizations:
...
- merged request and reply structures
- build requests directly into the buffer to avoid a copy
1999-06-26 08:43:26 +00:00
Ulrich Weigand
26c21f1f57
Load USER32.DLL before calling UserSignalProc.
1999-06-22 19:12:14 +00:00
Alexandre Julliard
5bc78089db
Made server communication faster by using a shared memory block.
...
A few other optimizations in request processing in the server.
Moved automatically generated request definitions to server.h and
removed include/server/request.h.
1999-06-22 17:26:53 +00:00
Alexandre Julliard
0a860a01f9
Merged THDB and TEB structures.
...
Made SetLastError(), GetCurrentThreadId() and PROCESS_Current() inline.
1999-06-22 11:43:42 +00:00
Alexandre Julliard
55e1af93b5
Added DebugBreak.
1999-06-18 18:24:47 +00:00
Ulrich Weigand
23f4b09cc3
Removed broken hack to support shared DLLs (e.g. USER32.DLL) and
...
replaced it by a somewhat less broken hack :-/
1999-06-13 08:34:42 +00:00
Andreas Mohr
cd3278be3f
Rearrange winver detection code and cache the winver value we
...
determined in the PDB to speed up.
1999-06-12 14:46:54 +00:00
Guy Albertelli
0e65b38ff3
Add new "walk" command options to list processes and modref's.
1999-06-12 10:49:36 +00:00
Eric Pouech
63c7cdf196
Made the service thread instanciable in every process.
1999-06-12 08:24:23 +00:00
Alexandre Julliard
1aa2641636
Use the normal environment routines to build the env db of the initial
...
process.
1999-06-11 18:33:46 +00:00
Ulrich Weigand
ed49003188
16-bit scheduler reorganized: run all tasks in their own thread.
...
Process creation sequence adapted to new scheduler.
1999-06-06 14:47:50 +00:00
Ulrich Weigand
ad6657e334
Removed SERVICE_Exit().
1999-06-06 14:43:34 +00:00
Alexandre Julliard
54a39e253c
Got rid of THREAD_InitDone.
...
Made THREAD_Current() inline.
Moved server tid into TEB.
1999-05-29 14:27:26 +00:00
Alexandre Julliard
bda3969d98
Removed process argument to PROCESS_CallUserSignalProc.
1999-05-24 15:01:05 +00:00
Alexandre Julliard
463fd4ffb1
Moved remaining initialisations to the new process context.
...
Shuffled things around a bit in PROCESS_Start to avoid deadlocks.
Changed PROCESS_CallUserSignalProc to avoid accessing another process
address space.
1999-05-24 14:44:52 +00:00
Ulrich Weigand
a1957c4d64
Wait until child initialized before returning from PROCESS_Create.
1999-05-24 08:10:46 +00:00
Alexandre Julliard
d131a17ee0
Use the new debug functions to send debug events at appropriate places.
...
Pass the process creation flags to PROCESS_Create.
1999-05-23 20:02:04 +00:00
Alexandre Julliard
4cc1b339cf
Implemented the Win32 debug API functions.
1999-05-23 19:57:42 +00:00
Alexandre Julliard
156570906f
Converted to the new debug interface, using script written by Patrik
...
Stridvall.
1999-05-23 10:25:25 +00:00
Ulrich Weigand
158f00ed8d
Bugfix: dwFlags must describe target process in UserSignalProc.
1999-05-23 09:31:49 +00:00
Ulrich Weigand
8c2dc8b1b8
Adapted to event synchronization changes.
1999-05-22 18:58:36 +00:00
Ulrich Weigand
c5b8b3aeae
Improved syslevel handling, store currently held syslevels in thread
...
database, WIN_CritSection converted to syslevel.
1999-05-22 16:28:47 +00:00
Ulrich Weigand
c319c669fb
Added ExitKernel16 (replacing USER_ExitWindows), ExitProcess16, and
...
MapProcessHandle; stub for BUNNY_351.
1999-05-22 16:18:36 +00:00
Ove Kaaven
3d93102dd4
Expire timers on expiry time too, not just after.
1999-05-22 15:56:21 +00:00
Alexandre Julliard
e29a001a85
Added TEB in init_thread request.
1999-05-16 16:51:28 +00:00
Alexandre Julliard
43c190e7ba
Server reorganization:
...
- moved request handlers to the specific C files
- moved handle management to handle.c
- moved server private includes to server/ instead of include/server/
1999-05-15 10:48:19 +00:00
Patrik Stridvall
1bb9403938
ANSI C fixes.
1999-05-08 15:47:44 +00:00
Ulrich Weigand
36a1a25f0e
Call THREAD_FreeTHDB as service thread callback.
1999-05-08 10:48:03 +00:00
Ulrich Weigand
1c971e3364
Some initialization sequence bugfixes:
...
- Initialize process crst for 16-bit processes.
- Don't crash due to uninitialized stack frames in WineLib.
- Map system DLLs before calling UserSignalProc.
- Signal USIG_PROCESS_CREATE only *after* the env_db is filled.
1999-05-08 09:58:47 +00:00
Ulrich Weigand
70b2e383a0
Fixed various stupid bugs in services thread routines.
...
Added SERVICE_Exit routine to kill the services thread.
1999-05-04 16:43:38 +00:00
Alexandre Julliard
64ae5a57cf
Moved a few more initialisations to the new process context.
1999-05-02 19:10:57 +00:00
Alexandre Julliard
e8c6a08cd9
Converted to the new debugging interface (done with the help of the
...
script written by Patrik Stridvall).
Some changes to the initialisation sequence for 32-bit processes.
1999-05-02 14:33:41 +00:00
Alexandre Julliard
06c275a643
Converted to the new debugging interface (done with the help of the
...
script written by Patrik Stridvall).
1999-05-02 14:32:27 +00:00
Ulrich Weigand
586793ffd8
Initialize process critical section in the correct process context.
1999-04-25 11:04:45 +00:00
Ulrich Weigand
a988074d24
Warn if wrong process tries to enter critical section.
...
Better implementation of Reinitialize/UninitializeCriticalSection
(still not quite correct).
1999-04-25 11:03:59 +00:00
Patrik Stridvall
0f8bc5b5c7
Fixed ANSI compabillity.
1999-04-22 16:27:50 +00:00
Marcus Meissner
450f96aab4
CreateSocketHandle,GetHandleContext,SetHandleContext stubs added.
1999-04-22 14:55:06 +00:00
Patrik Stridvall
b4b9fae671
New debug scheme with explicit debug channels declaration.
1999-04-19 14:56:29 +00:00
Alexandre Julliard
79762059eb
Added timeout to critical section waiting.
1999-04-18 13:23:36 +00:00
Ulrich Weigand
a44f9f8e1b
Merged Linux/FreeBSD reentrant errno handler, added Solaris.
...
Preliminary support for Solaris low-level threads (LWPs) added.
1999-04-18 13:20:43 +00:00
Bertho Stultiens
c1d1cfe976
Reorganization of the loader to correctly load and free libraries and
...
implementation of load order to load different types of libraries.
1999-04-18 12:14:06 +00:00
Kevin Holbrook
a8f8bef098
Fix ambiguous else warning.
1999-04-18 09:33:20 +00:00
Bertho Stultiens
77f08f330e
UnitializeCriticalSection partial stub implementation.
1999-04-15 16:42:50 +00:00
Ulrich Weigand
371fd75a39
Added new CLIENT_DebuggerRequest routine, implemented support for
...
DEBUGGER_FREEZE_ALL/DEBUGGER_UNFREEZE_ALL requests.
Run wine server in the main wine process.
Bugfix: never free initial thread!
1999-04-11 17:13:03 +00:00
Ulrich Weigand
9e696f8906
Non-functional PROCESS_Suspend/ResumeOtherThreads removed.
1999-04-11 17:11:09 +00:00
Marcus Meissner
c26063818f
- Started multithreading for FreeBSD (incomplete, but some
...
applications now at least start up again).
- Use _thread_sys_sigaction/_thread_sys_sigaltstack.
- CR2 on pagefault gets passed in sc_err (some kind of kludge in
FreeBSD owns fault handling we can use)
1999-04-11 15:20:29 +00:00
Ulrich Weigand
f6461fe290
Allow user APCs with NULL 'func' (just wake up the thread).
1999-04-11 15:02:18 +00:00
Ulrich Weigand
7761cbe0b6
Implemented 'kernel services thread'.
1999-04-11 15:01:20 +00:00
Ulrich Weigand
2e658768dc
Send USIG_PROCESS_CREATE signal.
...
Bugfix: GetProcessDword offset -8 should return parent process ID.
1999-04-11 12:06:04 +00:00
Ulrich Weigand
8139c30125
Implemented PROCESS_CallUserSignalProc().
...
Send USER signals at various appropriate places.
Moved [GS]etProcessDword() to scheduler/process.c.
1999-04-01 11:43:05 +00:00
Ulrich Weigand
e469a583ca
Fixed sequence of DLL_PROCESS_DETACH notification calls.
...
Moved PE_MODREF flags to WINE_MODREF level.
Better handling of LoadLibraryEx flags.
PE_InitTls() changed to work only on the current thread.
1999-03-27 16:45:57 +00:00
Alexandre Julliard
1c40024b15
Added cmd line in new_process request.
1999-03-27 16:21:05 +00:00
Ulrich Weigand
4cf15118eb
All threads created with CreateThread are 32-bit threads.
1999-03-27 16:19:00 +00:00
Alexandre Julliard
875c4b3c61
Added server pid and tid in init_thread request, and use them in
...
CLIENT_InitThread.
1999-03-23 14:09:41 +00:00
Ulrich Weigand
93b23d746d
Run Win32 processes in their own threads.
...
Process exit sequence adapted.
1999-03-22 10:35:44 +00:00
Alexandre Julliard
f016752b45
Changed process initialisation to use the new server requests.
...
Started to move the process init to the right context, not finished yet.
1999-03-21 19:26:25 +00:00
Ulrich Weigand
4526f2ec66
Pass new arguments (suspend/inherit) to the server.
1999-03-16 16:28:59 +00:00
Ulrich Weigand
2f2898b571
Handle suspend/resume_thread requests in phase STARTING correctly.
...
Set initial suspend count for threads created with CREATE_SUSPENDED.
Set 'inheritable' flag for process/thread handles.
1999-03-16 16:28:36 +00:00
Alexandre Julliard
301f2c6922
Separated thdb freeing code from ExitThread. Now we only need to call
...
THREAD_FreeTHDB from somewhere...
1999-03-14 19:48:04 +00:00
Alexandre Julliard
5eca3afa9f
Do not call ExitThread() on server communication errors.
1999-03-14 19:46:35 +00:00
Marcus Meissner
88e651dac3
Fixed newly introduced and some leftover warnings.
1999-03-13 18:20:26 +00:00
Ulrich Weigand
3366f18464
Implemented _ConfirmWin16Lock (KERNEL32.96).
1999-03-10 16:25:22 +00:00
Alexandre Julliard
3f09ec5263
CLIENT_WaitReply: don't clear last error on success; fixed callers
...
accordingly (based on a patch by Juergen Schmied).
1999-02-28 19:25:51 +00:00
Alexandre Julliard
96c08d817c
Use server handles directly for Win32 handles. Removed use of K32OBJ.
1999-02-28 13:27:56 +00:00
David Luyer
ee517e863e
- fixed missing stdlib.h and string.h includes everywhere
...
- removed a couple of unneeded stdlib.h and stdio.h includes
1999-02-28 12:27:56 +00:00
Alexandre Julliard
8feb3bc177
Process and thread id now use the server-side id instead of an
...
obfuscated pointer.
1999-02-28 12:25:03 +00:00
Ulrich Weigand
6e0d38603e
Process creation sequence reorganized:
...
- Removed instance data segment for all but NE modules.
- Check binary type in CreateProcess before loading module.
- Unix process creation moved from WinExec to CreateProcess.
- Bugfix: fill in thdb->teb.htask16 member correctly.
1999-02-28 11:14:32 +00:00
Alexandre Julliard
875d112dd7
Removed dst_handle in duplicate_handle request.
...
Added inherit flag in create_mapping request.
1999-02-28 10:12:48 +00:00
Alexandre Julliard
a396029270
Large-scale renaming of all Win32 functions and types to use the
...
standard Windows names.
1999-02-26 11:11:13 +00:00
Ulrich Weigand
1d90d69f08
Modified process creation sequence: call PE_CreateModule in the
...
context of the new process (in TASK_CallToStart).
Changed all PE/Module routines so as to always operate on the current
process; adapted all callers.
1999-02-24 14:27:07 +00:00
Alexandre Julliard
214399f283
Changed initial process creation to avoid memory allocations.
...
Removed a few unused fields in PDB and THDB.
1999-02-21 18:35:27 +00:00
Alexandre Julliard
13e55192b9
Removed thread queue functions.
...
Changed initial thread creation to avoid memory allocations.
Moved server startup to THREAD_CreateInitialThread.
1999-02-21 18:34:18 +00:00
Alexandre Julliard
d16927efdb
Removed use of per-thread wait_struct, cleaned up a bit.
1999-02-21 18:29:59 +00:00
Alexandre Julliard
d6cb784269
Removed MEM_MAPPED_FILE_Ops.
1999-02-21 18:28:40 +00:00
Marcus Meissner
04c3e1d456
Removed a lot of occurences of windows.h (and added necessary other
...
includes).
1999-02-19 10:37:02 +00:00
Francois Gouget
289211cc3b
Fixed a number of warnings concerning the matching of the printf
...
format string and the associated parameters (actually it's mostly
TRACE and FIXMEs).
1999-02-17 16:15:11 +00:00
Marcus Meissner
317af320cf
Optimized include/*.h: (recursively) include all headers needed by
...
this .h file, but only those. Necessary fixes to a lot of .c files,
started optimizing "windows.h" away from some of them. Moved
GetCurrentTask prototype to wine/winbase16.h.
1999-02-17 13:51:06 +00:00
Alexandre Julliard
c521db616a
Removed CONSOLE_Ops.
1999-02-14 18:04:20 +00:00
Alexandre Julliard
60742b0408
Removed PROCESS_GetPtr.
1999-02-14 17:51:01 +00:00
Stephane Lussier
91bb1f974c
- Cleaned up the message queue when a thread exit (but not the process).
...
- Modified QUEUE_DeleteMsgQueue to exit gracefully (without crashing Wine) if
queue link list is corrupted.
1999-02-09 14:07:07 +00:00
Noel Borthwick
b427856b45
Added management and allocation of the PERQUEUEDATA structure.
1999-02-05 10:37:53 +00:00
Geoff Clare
0b78af7c01
Fix to allow for recvmsg() returning less data than is needed.
1999-01-31 18:57:28 +00:00
Alexandre Julliard
d757fc60bb
Clear last error on all successful requests.
1999-01-31 15:06:28 +00:00
Juergen Schmied
ab9ac83e97
List handles WaitForMultipleObjects is waiting for when running with
...
-debugmsg +win32.
1999-01-31 09:22:14 +00:00
Alexandre Julliard
47b3f322ce
Commented out EXEC_SERVER
1999-01-26 13:29:00 +00:00
Guy Albertelli
c66f5d5983
Added stub for SetThreadLocale.
1999-01-24 09:59:14 +00:00
Alexandre Julliard
62a8b43301
Hacked server-side device support
...
Added user APCs support.
Many changes to the xterm console to make use of the server (not
finished yet).
Moved some other small stuff to the server.
1999-01-19 17:48:23 +00:00
Alexandre Julliard
8da12c43a9
Group commit for recovery after disk crash.
...
See Changelog for changes WRT release 990110.
1999-01-17 16:55:11 +00:00
Alexandre Julliard
638f169b1e
Recovery of release 990110 after disk crash.
...
See Changelog for changes between 990103 and 990110.
1999-01-17 16:32:32 +00:00
Alexandre Julliard
0562539d18
Implemented file sharing checks in the server.
...
Added set file time server request.
Overall clean up of the file handling (DOS device handling is now
broken, should be redone).
1999-01-03 11:55:56 +00:00
Alexandre Julliard
eafae34251
Got rid of CLIENT_GetProcessInfo.
1999-01-01 18:59:01 +00:00
Alexandre Julliard
94401dc0c1
Fixed CloseHandle() on global handles.
1999-01-01 18:46:35 +00:00
Alexandre Julliard
dbf2bf00bc
Moved MsgWaitForMultipleObject implementation to USER routines, using
...
a normal Win32 event.
1999-01-01 17:05:53 +00:00
Alexandre Julliard
6ebbe3c949
Cleaned up and removed some no longer used code.
1999-01-01 17:04:00 +00:00