Commit Graph

55 Commits

Author SHA1 Message Date
Alexandre Julliard
a19e3eeb20 ntdll: Move the TEB register to the ntdll_thread_regs structure. 2006-01-20 16:18:06 +01:00
Alexandre Julliard
2878d99216 ntdll: Add debug registers to the context of all exceptions.
Maintain a local cache of the debug registers to avoid server calls
where possible.
2006-01-13 13:58:14 +01:00
Alexandre Julliard
2654be08d5 ntdll: Handle NtSetContextThread on the client side (as far as
possible) when setting the context of the current thread.
2006-01-11 20:20:32 +01:00
Eric Pouech
329ab98940 ntdll: Implemented ntdll.NtSetInformationThread(ThreadAffinityMask).
Reimplemented kernel32.SetThreadAffinityMask on top of it.
2006-01-11 12:32:19 +01:00
Alexandre Julliard
efffa66330 ntdll: Don't use a real guard page at the bottom of the stack.
A no-access page is enough, we can't properly raise an overflow
exception anyway.
2005-12-17 18:47:03 +01:00
Alexandre Julliard
f3dad37ba2 TEB.StackLimit should not include the guard page. 2005-12-12 17:28:32 +01:00
Alexandre Julliard
d02c4a1b82 Make wine_server_fd_to_handle use attributes instead of inherit flag. 2005-12-09 12:22:35 +01:00
Alexandre Julliard
f2d7dd645e server: Use attributes instead of inherit flag in process and thread requests. 2005-12-09 12:13:11 +01:00
Ge van Geldorp
1a1583a364 Match PSDK STATUS_* definitions. 2005-11-28 17:32:54 +01:00
Eric Pouech
63e5d5e5b9 Init wShowWindow in RTL_USER_PARAMETERS for Wine processes started
from the command-line.
2005-11-14 11:21:13 +00:00
Kevin Koltzau
079e7cac17 x86_64 references a named union, ensure unions are not nameless. 2005-11-05 10:43:50 +00:00
Vitaliy Margolen
4e76f91f1a Get rid of CPU id when copying context 2005-11-03 09:54:47 +00:00
Alexandre Julliard
73c72390f8 Fixed Get/SetThreadContext to work properly on suspended threads.
Added a test case.
2005-11-02 20:54:12 +00:00
Alexandre Julliard
d6f7adb367 Don't send the incoming context to the server for get_thread_context,
instead copy only the relevant fields of the return value on the
client side.
2005-11-01 21:41:26 +00:00
Alexandre Julliard
fb9cead92b Support arbitrary sizes for the thread signal stack, and set the
default size from the MINSIGSTKSZ constant.
2005-09-14 10:36:58 +00:00
Eric Pouech
ad0168967e Implemented kernel32.GetThreadTimes on top of ntdll's equivalent
function.
2005-09-12 22:01:33 +00:00
Alexandre Julliard
884599112e Use SIZE_T instead of ULONG for the size arguments of the virtual
memory functions.
2005-09-12 10:36:06 +00:00
Eric Pouech
60cae6e289 Implemented kernel32:SetThreadPriority on top of ntdll's equivalent
functions.
2005-09-07 13:25:35 +00:00
Alexandre Julliard
883d3c52d3 Use explicit function pointers for pthread support instead of relying
on ELF symbol overriding.
2005-09-03 15:11:29 +00:00
Alexandre Julliard
a5156dcf40 Added a stub for NtAlertResumeThread. 2005-08-18 11:47:17 +00:00
Alexandre Julliard
9f32a5c865 Added a VIRTUAL_alloc_teb function to allocate TEBs while making sure
they don't end up above the address space limit.
2005-08-09 10:43:47 +00:00
Alexandre Julliard
4de75b5a6f Use the new RtlExitUserThread function instead of exporting
wine_server_exit_thread.
2005-08-02 09:55:40 +00:00
Alexandre Julliard
3be8cb8b02 Moved initialization of the default user process parameters to ntdll. 2005-07-14 12:33:30 +00:00
Alexandre Julliard
11ad6a0ac4 Return the startup info size in the init_thread request, and allocate
the process parameters structure in ntdll instead of kernel.
2005-07-13 19:43:35 +00:00
Alexandre Julliard
60b3d30f9b Don't require execute permission for thread stacks. 2005-06-21 09:57:53 +00:00
Robert Shearman
4bba21643c Add support for impersonating a token. 2005-06-20 13:18:38 +00:00
Alexandre Julliard
811e966083 The TEB doesn't need execute permissions. 2005-06-17 12:15:44 +00:00
Alexandre Julliard
ab29aa2126 Moved the ntdll per-thread data out of the TEB into a private
structure stored in TEB.SystemReserved2.
2005-06-06 20:04:33 +00:00
Alexandre Julliard
9b57a950d7 Avoid accessing the htask16 TEB field from ntdll. 2005-06-05 18:24:35 +00:00
Alexandre Julliard
86be9f20da Removed the MESSAGEQUEUE structure, and store the corresponding
information directly in the TEB, in the Win32ClientInfo field.
2005-04-27 08:18:20 +00:00
Alexandre Julliard
f1020bc6e0 Added support for the TLS expansion slots, adding an extra 1024
entries.
2005-03-19 17:14:12 +00:00
Ivan Leo Puoti
d3edafe1e2 Replace GetCurrentProcess() with NtCurrentProcess() in ntdll. 2005-02-22 19:33:50 +00:00
Robert Shearman
2050591370 Fix NtAllocateVirtualMemory declaration and fix users of the
function.
2004-10-11 20:59:06 +00:00
Alexander Yaworsky
8657ad8704 Make RtlCreateUserThread fail if process handle is not for the current
process.
2004-09-21 00:23:50 +00:00
Francois Gouget
61d21ce706 Update RTL_BITMAP and RTL_BITMAP_RUN to match the 2000 DDK.
Only test the Rtl{Initialize,SetAll,ClearAll}Bits macros if they are
defined.
2004-08-23 18:52:54 +00:00
Mike McCormack
edf55ec7d9 Implement SetThreadToken using NtSetInformationThread. 2004-08-13 23:20:27 +00:00
Alexandre Julliard
cc461324da Store the number of processors in the PEB structure.
More correct support for setting critical section spin counts (based
on a patch by Robert Shearman).
2004-06-15 00:52:03 +00:00
Patrik Stridvall
070db4e5de Fixed some issues found by winapi_check. 2004-05-17 21:08:31 +00:00
Alexandre Julliard
a45931c6f3 Get rid of the TEB flags, they are no longer used. 2004-04-15 05:04:53 +00:00
Alexandre Julliard
4fac95df3d Fixed a couple of race conditions in the wine_pthread routines at
thread startup and exit.
2004-02-05 02:01:35 +00:00
Alexandre Julliard
af542075e7 Don't use constructors for ntdll and kernel32 initialization. 2004-01-07 04:50:11 +00:00
Alexandre Julliard
6281d82e87 Store the thread entry point in the startup info passed to the new
thread instead of the TEB.
2003-11-25 03:42:05 +00:00
Alexandre Julliard
746d900b04 Force minimum stack size to 1Mb for Xlib. 2003-11-18 00:14:17 +00:00
Alexandre Julliard
50fba7ffec Moved the remaining SYSDEPS_* functions to the wine_pthread interface.
Let the pthread library allocate the stack itself.
2003-11-09 01:25:23 +00:00
Alexandre Julliard
4dba172e55 Added server_abort_thread to replace SYSDEPS_AbortThread.
Removed no longer used SIGNAL_Block and SIGNAL_Reset.
Moved some internal ntdll definitions to ntdll_misc.h.
2003-11-06 00:08:05 +00:00
Alexandre Julliard
8574412e1e Added wine_pthread_create_thread and wine_pthread_exit_thread to the
pthread support, and removed the corresponding SYSDEPS functions.
Moved stack allocation for new threads to wine_pthread_create_thread
to allow more flexibility.
2003-11-05 23:31:11 +00:00
Alexandre Julliard
7924f421e9 Allocate the TEB and signal stack separately from the main stack.
Dynamically allocate the initial TEB too so that it is properly
page-aligned.
2003-11-04 04:50:18 +00:00
Alexandre Julliard
7370f60120 Implemented RtlCreateUserThread, and use it to move thread creation to
ntdll.
2003-10-31 00:16:20 +00:00
Alexandre Julliard
5cb5aa6346 Use the Rtl bitmap functions to implement Tls allocation.
Get rid of the PDB structure.
2003-10-09 19:58:56 +00:00
Alexandre Julliard
20e73d739a Moved the constructor for the initial TEB to ntdll so that it runs as
early as possible on startup.
2003-10-09 04:59:03 +00:00