Commit Graph

224 Commits

Author SHA1 Message Date
Alexandre Julliard fb75c66897 ntdll: Avoid heap allocations during thread creation. 2007-01-18 12:20:10 +01:00
Joel Parker 2319999a05 Remove redundant semicolons for ANSI compatibility. 2007-01-17 11:58:15 +01:00
Alexandre Julliard 6ca1d1b081 server: Support queuing some APCs to a process instead of a thread. 2007-01-15 22:26:32 +01:00
Andrew Talbot 16cb898600 ntdll: Remove unused function. 2007-01-15 14:23:04 +01:00
Alexandre Julliard 5c8421d3e7 server: Add a generic apc_call structure to make it easier to extend, and more type-safe. 2007-01-04 13:40:09 +01:00
Eric Pouech 5b1f3b14ca ntdll: Fixed returned status for NtQueryThreadInformation's ThreadDescriptorTable
(spotted by Peter Oberndorfer).
2006-11-15 11:24:41 +01:00
Eric Pouech 8cb932ea89 ntdll: Implemented AmILastThread information class for NtQueryInformationThread. 2006-10-03 20:20:13 +02:00
Alexandre Julliard 530e765035 include: Exception filters should return LONG, not DWORD.
Also move UnhandledExceptionFilter definitions to winbase.h since they
are there in the latest SDK.
2006-09-20 11:26:59 +02:00
Alexandre Julliard 3095a48d6f server: Convert thread creation/exit times to the abs_time_t type. 2006-07-26 14:49:55 +02:00
Alexandre Julliard 6c9ade0529 ntdll: Allocate the PEB with NtAllocateVirtualMemory too. 2006-07-24 15:19:32 +02:00
Alexandre Julliard 0c453bc7c6 ntdll: Use NtAllocateVirtualMemory to allocate all TEBs except the first one. 2006-07-21 20:20:30 +02:00
Pierre d'Herbemont 6d0e51fb66 ntdll: Fix NtQueryInformationThread on non x86. 2006-06-09 21:08:14 +02:00
Eric Pouech 2d3504c309 ntdll/kernel32: Moved GetThreadSelectorEntry to ntdll.
- implemented NtQueryInformationThread's ThreadDescriptorTableEntry
  information class
- used it to implement the kernel32's equivalent (GetThreadSelectorEntry)
2006-05-27 13:00:19 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Michael Stefaniuc 7a8818e717 Don't check pointers for NULL before RtlFreeHeap. It is redundant. 2006-05-05 20:59:50 +02:00
Alexandre Julliard d2ad6f8355 ntdll: Get registers on the client side for NtGetContextThread on the current thread. 2006-04-20 15:40:28 +02:00
Juan Lang fced68672f ntdll: Initialize a variable.
Fix an uninitialized pointer in RtlCreateUserThread, caught by
coverity.
2006-04-11 11:23:49 +02:00
Robert Shearman ea6f3a4cc0 ntdll: Move the call to MODULE_DllThreadAttach from the kernel32
thread creation function to the NTDLL one.
2006-03-14 17:50:28 +01:00
Alexandre Julliard 477b3bf566 kernel: Moved the get_startup_info call to ntdll. 2006-02-22 09:57:19 +01:00
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
Alexandre Julliard 2eb5d8b9b1 On TlsFree, clear the released TLS index in all threads. 2003-09-08 19:02:01 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard 7df1b9e03a Start using the exported TEB structure from winternl.h where
possible.
2003-08-28 19:57:35 +00:00
Alexandre Julliard 4f196ead13 Implemented the ThreadBasicInformation case for
NtQueryInformationThread.
2003-07-09 02:57:57 +00:00
Alexandre Julliard 088bcf9ca5 Implemented NtQueueApcThread, and changed the server APC interface to
always take 3 parameters.
Implemented a number of other ntdll thread functions, and use them
from the kernel ones.
2003-04-04 22:26:34 +00:00