Alexandre Julliard
5016e921f5
Added support for cleaning up the TEB from inside the exiting thread.
2002-01-07 18:04:07 +00:00
Ove Kaaven
4eb0bebd90
Fixed vm86_enter race conditions.
2002-01-04 21:57:04 +00:00
Alexandre Julliard
9caa71eef4
Redesign of the server communication protocol to allow arbitrary sized
...
data to be exchanged.
Split request and reply structures to make backwards compatibility
easier.
Moved many console functions to dlls/kernel, added code page support,
changed a few requests to behave properly with the new protocol.
2001-11-30 18:46:42 +00:00
François Gouget
1425941e29
Fix the #include order for config.h.
...
Add #include "config.h" directives where needed.
2001-11-06 20:57:11 +00:00
Ove Kaaven
6e33f63e4a
Extended __wine_enter_vm86 to handle pending interrupts.
2001-06-21 00:39:34 +00:00
Alexandre Julliard
a67e6486df
Removed THREAD_IsWin16.
2001-05-18 23:21:22 +00:00
Alexandre Julliard
4323004bf1
Create an X connection for each thread, and process X events in the
...
thread that created the corresponding X window.
Spawn a separate thread to run the desktop message loop in desktop
mode.
2001-05-16 19:52:29 +00:00
Michael McCormack
1c32a46d5a
Use poll() on the client-side during server waits to implement
...
overlapped I/O.
2001-03-22 20:09:34 +00:00
Alexandre Julliard
e5dedb1906
Added support for nested server waits (to allow waiting in signal
...
handlers).
2001-03-08 01:16:41 +00:00
Alexandre Julliard
8859d77279
Create the server pipes on the client side and transfer them to the
...
server on thread creation.
Use a single per-process socket instead of one per thread for
transferring file handles between client and server.
2001-03-01 22:13:49 +00:00
Alexandre Julliard
9ee9efff1b
Use the standard CreateThread routine to create 16-bit tasks instead
...
of duplicating the code.
2001-02-28 05:29:50 +00:00
Alexandre Julliard
67a749999a
New set of macros for server calls; makes requests without variable
...
part somewhat faster.
2001-02-27 02:09:16 +00:00
Alexandre Julliard
d90e964cee
Added separate server pipe to wait on blocking server calls.
...
Send the complete request/reply through the request fifo instead of
just a dummy byte.
Convert error status to text in server reply tracing.
2001-02-21 04:21:50 +00:00
Alexandre Julliard
d549f6909e
Use a separate FIFO pair for server requests that don't need to pass a
...
file descriptor.
Associate file descriptors with handles on the server side so that we
don't need to pass the fd every time the client wants to use it.
2000-12-22 02:04:15 +00:00
Alexandre Julliard
83f52d11c1
Moved all Win16 definitions out of the standard Windows headers.
2000-09-26 22:20:14 +00:00
Alexandre Julliard
8611353053
Added the data structures and macros that will be needed to support
...
reentrant server requests.
2000-08-29 03:54:30 +00:00
Juergen Schmied
ec85c6be75
Implemented the ErrorInfo interfaces.
2000-08-03 04:34:59 +00:00
Juergen Schmied
79d850f2d7
- implemented Get/SetThreadLocale
...
- added comment about OleErrorInfo field in TEB
2000-06-12 21:56:02 +00:00
Alexandre Julliard
c192ba2468
Exec a separate wine binary for every win32 process so that they run
...
in separate address spaces.
Run 16-bit tasks as Win32 threads, not processes.
2000-05-29 21:25:10 +00:00
Alexandre Julliard
8c21dfcf0f
Setup the initial thread %fs from a constructor.
2000-05-01 21:21:31 +00:00
Alexandre Julliard
5b4f3e8d6d
Rewrote Unix process launching to allow passing startup information to
...
Winelib apps. Improved handling of execve() failures.
2000-05-01 16:24:22 +00:00
Alexandre Julliard
b44595283f
Improved Winelib apps initialisation code. No longer need to link
...
winestub.o with Winelib apps.
2000-04-15 21:00:55 +00:00
Ove Kaaven
f19f07d5f3
POSIX threads emulation, tricks glibc into being threadsafe.
2000-04-14 14:47:02 +00:00
Alexandre Julliard
3ef9322915
Cleanup thread stack allocation. Use a single VirtualAlloc for TEB and
...
the various stacks.
2000-04-13 17:03:22 +00:00
Alexandre Julliard
114830e8a9
Made GetProcessHeap(), GetCurrentProcessId(), GetCurrentThread() and
...
GetCurrentProcess() inline.
2000-04-11 20:01:59 +00:00
Alexandre Julliard
9a0e28f153
Fixed a couple of file descriptor leaks.
...
Always call USER signal proc in the right context.
Cleaned up THREAD_Create.
2000-03-25 19:14:37 +00:00
Alexandre Julliard
12f29b5076
Have threads and processes exit more cleanly whenever possible.
2000-03-17 15:16:57 +00:00
Patrik Stridvall
6cc47d4924
Removed a lot of unnecessary includes and fixed the compile errors.
2000-03-08 18:26:56 +00:00
Alexandre Julliard
ca3c9ba4ec
Better implementation of inline functions SetLastError and
...
GetCurrentThreadId. Added asm inlines for Interlocked* functions.
2000-03-07 13:14:27 +00:00
Alexandre Julliard
916f975624
Improved the selector get/set functions.
...
Support ANSI-compatible inline asm (with the help of Patrik Stridvall).
2000-02-26 16:51:13 +00:00
Ulrich Weigand
7d43bceb7e
Moved debugger to libwine to make it available to WineLib apps.
...
Try to invoke external debugger if internal debugger crashes.
Try to handle early invocation of debugger more gracefully.
2000-01-30 21:16:45 +00:00
Alexandre Julliard
8bc1d837d2
Use a per-thread buffer and write(2) for debug traces.
...
Removed debug_dumpstr.
2000-01-29 19:46:50 +00:00
Alexandre Julliard
2fe57779fb
Made the server listen for new clients on a Unix socket in
...
$HOME/.wine. Newly started wine processes now attach to an existing
server if one is running.
2000-01-25 01:40:27 +00:00
Juergen Schmied
74341020f4
- added NT fields to TEB
...
- moved tls-fields and some wine specific fields to a higher offset
- added some documentation
- initialisation of the UnicodeString
2000-01-15 22:22:27 +00:00
Eric Pouech
4e1cdab556
Moved wineserver's buffer & buffer_size at the end of TEB so that IE
...
doesn't overwrite them.
1999-12-05 23:10:27 +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
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
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
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
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
Alexandre Julliard
dd93d25577
Improved exception handling.
...
Based on the work of Sergey Turchanov <turchanov@usa.net>.
1999-05-09 16:12:19 +00:00
Ulrich Weigand
36a1a25f0e
Call THREAD_FreeTHDB as service thread callback.
1999-05-08 10:48:03 +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
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
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
Alexandre Julliard
96c08d817c
Use server handles directly for Win32 handles. Removed use of K32OBJ.
1999-02-28 13: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
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