Commit Graph

202 Commits

Author SHA1 Message Date
André Hentschel 579f4f9da0 ntdll: Exit when we can't map the shared user data. 2012-11-28 20:14:51 +01:00
Daniel Jelinski 6ec731b65c ntdll: Add missing parameters to syscall call. 2012-05-30 11:21:45 +02:00
Detlef Riekenberg 979099a441 ntdll: Read the current processor with the __NR_getcpu syscall. 2012-05-21 11:33:55 +02:00
Detlef Riekenberg 1f80bacc65 ntdll: Use ThreadAffinityMask for NtGetCurrentProcessorNumber. 2012-05-21 10:27:40 +02:00
Detlef Riekenberg 02b74d3fd3 ntdll: Implement NtGetCurrentProcessorNumber. 2012-05-21 10:20:25 +02:00
Bernhard Loos b8629f55f1 ntdll: Initialize the Length field of PEB->LdrData. 2011-08-22 19:49:39 +02:00
Alexandre Julliard e1eb6228f4 ntdll: Ask the server to suspend the thread in the get/set_thread_context requests. 2011-05-06 12:49:42 +02:00
Alexandre Julliard 177a7e5683 Revert "ntdll: Fix possible deadlock in vectored exception handling."
This reverts commit eb0e82a755.
It's causing different deadlocks, notably when a thread tries to
remove a handler inside a handler.
2010-11-10 19:17:41 +01:00
Alexandre Julliard adb0703cff ntdll: Don't try to join with the main thread. 2010-11-01 11:28:38 +01:00
Krzysztof Nowicki eb0e82a755 ntdll: Fix possible deadlock in vectored exception handling. 2010-10-12 12:30:48 +02:00
Eric Pouech 45ade6c2f5 ntdll: Allocate a console (without renderer) when starting a program from unix console. 2010-09-01 14:01:03 +02:00
Alexandre Julliard 5189eef6bb ntdll: Fix affinity mask check for 64-bit. 2010-04-08 23:57:08 +02:00
Erich Hoover fda39b207c ntdll: Allow 'all processors' flag used in Vista and newer. 2010-02-22 11:57:08 +01:00
Alexandre Julliard e7810c8bc6 ntdll: Make it possible to use RtlGetNtGlobalFlags before the TEB is initialized. 2010-01-22 12:32:40 +01:00
Alexandre Julliard 39a1227cdb ntdll: Load the various PEB global options at startup. 2010-01-20 17:30:00 +01:00
Alexandre Julliard 82f393dda1 ntdll: Move the LDT locking functions to the i386-specific code. 2009-12-30 18:05:02 +01:00
Dan Kegel 0f556bf803 ntdll: Implement RtlGetNtGlobalFlags(), add related defines to winternl.h. 2009-11-30 16:13:08 +01:00
Alexandre Julliard 16ddc62405 ntdll: Merge the thread data and thread regs structure, and make sure i386 regs are not available on other platforms. 2009-11-19 12:27:09 +01:00
Alexandre Julliard aced1b82ba ntdll: Move initialization of the debug registers to signal_i386.c. 2009-11-19 12:26:21 +01:00
Alexandre Julliard d4f1fffacc ntdll: Moved the TEB allocation routines to the platform-specific files. 2009-11-19 12:25:52 +01:00
Andrey Turkin be910d973a ntdll: Add stub for NtSetInformationThread(ThreadHideFromDebugger). 2009-10-06 16:13:17 +02:00
Juan Lang 2e92c726aa ntdll: Don't allow setting a zero thread affinity. 2009-09-29 13:29:43 +02:00
Eric Pouech 004fdc7a97 ntdll: Moved CPU related registry key creation from kernel32 to ntdll. 2009-09-22 16:54:14 +02:00
Eric Pouech 57f714f3eb ntdll: Reuse kernel32's cpu info to implement NtQuerySystemInformation(SystemProcessInformation). 2009-09-22 16:51:16 +02:00
Alexandre Julliard 8101a2fa1e ntdll: Move the abort_thread() function to the CPU-specific files to allow redefining it. 2009-08-28 11:54:50 +02:00
Michael Stefaniuc 091f33e8c6 ntdll: Fix a memory leak on an error path (Smatch). 2009-08-25 11:13:57 +02:00
Alexandre Julliard da8acbc47d server: Define an architecture-independent structure for process startup info. 2009-08-21 20:00:12 +02:00
Michael Karcher 89d4402cc5 ntdll: Fix get_server_context_flags. 2009-08-03 17:22:22 +02:00
Alexandre Julliard 6f68b774d7 ntdll: Avoid the close-on-exec race with pipe() on kernels that support pipe2(). 2009-07-01 12:13:34 +02:00
Alexandre Julliard 0610549529 ntdll: Move all thread exit processing to exit_thread(), and make RtlExitUserThread() CPU-specific. 2009-06-18 17:06:21 +02:00
Alexandre Julliard f124c7cc38 ntdll: Simplify the thread startup routine and make it CPU-specific. 2009-06-18 17:01:44 +02:00
Alexandre Julliard 5316dd011f server: Define a generic context structure instead of using the platform-specific version. 2009-04-08 19:59:23 +02:00
Alexandre Julliard b06a919c3c server: Use the thread entry point field to pass the PEB in the initial thread. 2009-04-03 14:30:34 +02:00
Alexandre Julliard 5170b1b456 ntdll: Remove no longer used pthread_functions structure. 2009-03-30 15:04:51 +02:00
Alexandre Julliard c456721435 ntdll: Get rid of the no longer used pthread emulation. 2009-03-26 13:20:04 +01:00
Alexandre Julliard 75be87dd75 ntdll: Move the copy_context function into the respective CPU-specific files. 2009-03-13 11:31:25 +01:00
Alexandre Julliard 1056771b91 ntdll: Allocate the stack for all threads, don't rely on pthread to do it for us. 2009-02-23 14:24:59 +01:00
Alexandre Julliard 67e45d66d3 ntdll: Don't free the thread stack and TEB while exiting, do it from the next thread. 2009-02-23 14:24:03 +01:00
Alexandre Julliard 1ac7bafcb2 ntdll: Call pthread_create and pthread_exit directly from ntdll. 2009-02-20 18:07:42 +01:00
Alexandre Julliard cc933f586a ntdll: Moved exit_thread and abort_thread functions to thread.c. 2009-02-20 18:07:41 +01:00
Alexandre Julliard 36334a1b5a ntdll: Call pthread_sigmask directly instead of through the pthread function table. 2009-02-20 18:07:41 +01:00
Alexandre Julliard 66255772fc ntdll: Move the CPU-specific handling of current TEB to the respective signal files. 2009-02-18 13:04:50 +01:00
Alexandre Julliard 5adfec2883 ntdll: Determine the Unix tid for the server directly in ntdll. 2009-02-18 12:30:01 +01:00
Juan Lang 3d7118bcd1 ntdll: Implement the ThreadAffinityMask query. 2009-01-23 13:47:14 +01:00
Alexandre Julliard 913e792b57 server: Store process/thread affinity as a 64-bit value. 2009-01-19 14:15:51 +01:00
Alexandre Julliard 14c452fe78 ntdll: Replaced get_cpu_context by RtlCaptureContext. Implemented it for x86_64. 2009-01-06 17:50:34 +01:00
Alexandre Julliard fa8643805b server: Make TEB and PEB client_ptr_t instead of void pointers. 2008-12-31 15:09:59 +01:00
Alexandre Julliard 6db201080f server: Make the various async I/O parameters client_ptr_t instead of void pointers. 2008-12-30 21:09:41 +01:00
Alexandre Julliard f69e62207b server: Make the arguments for CreateRemoteThread client_ptr_t instead of void pointers. 2008-12-30 15:30:11 +01:00
Alexandre Julliard b660aaa9ea server: Use the same field for process and thread handle in the queue_apc request. 2008-12-26 12:33:31 +01:00
Alexandre Julliard b9e10147d9 ntdll: NtCurrentTeb is not exported on x86_64. 2008-12-15 13:32:15 +01:00
Alexandre Julliard d1b3d484f7 server: Add functions for conversions between server object handles and pointer-style handles. 2008-12-08 16:05:17 +01:00
Alexandre Julliard 5002bd21d1 kernel32: Moved the pthread emulation support to ntdll. 2008-10-30 15:39:50 +01:00
Alexandre Julliard 74cdb539a4 ntdll: Store the exit code in the server in RtlExitUserThread. 2008-10-29 20:37:43 +01:00
Andrew Talbot a63749cce0 ntdll: Sign-compare warnings fix. 2008-10-24 14:25:00 +02:00
Alexandre Julliard 531ff0be26 ntdll: Split the signal setup into process-wide and thread-specific routines. 2008-07-03 20:18:23 +02:00
Alexandre Julliard 600694546f ntdll: Moved stack allocation for thread and process to a common routine in virtual.c. 2008-04-01 14:11:44 +02:00
Andrew Talbot 08ae56545e ntdll: Remove superfluous semicolon. 2008-04-01 11:29:20 +02:00
Alexandre Julliard 5625c6079e Get rid of the global thread.h header. 2008-03-01 11:57:00 +01:00
Alexandre Julliard 6d6e9a42b1 ntdll: Added definitions and structures for fiber local storage. 2008-02-29 19:55:34 +01:00
Alexandre Julliard 78fba54ab7 ntdll: Store the unhandled exception filter at startup to avoid race conditions. 2008-02-12 22:39:19 +01:00
Alexandre Julliard 3bf12b9aca server: Don't force the process affinity to 1, leave it up to the client. 2008-01-17 13:40:03 +01:00
Alexandre Julliard f45b7078bf ntdll: Copy extended registers too in copy_context(). 2008-01-15 20:36:40 +01:00
Dmitry Timoshkov f2f3de20ac ntdll: Initialize the APC call union to suppress valgrind warnings. Take 2. 2007-12-11 17:49:57 +01:00
Alexandre Julliard 3ae370dc71 ntdll: Added a sleep in NtGet/SetContextThread, a yield is not enough on some kernels. 2007-12-03 13:55:25 +01:00
Paul Vriens 2f09f50641 ntdll: Report FIXME only once. 2007-10-30 11:29:54 +01:00
Alexandre Julliard 44c9758d05 ntdll: Move private data to make room in the TEB for the activation context data. 2007-07-19 16:56:10 +02:00
Andrew Talbot e3708a60b4 ntdll: Constify some variables. 2007-06-28 11:00:53 +02:00
Dmitry Timoshkov e142779b09 ntdll: Fix compilation warnings in 64-bit mode. 2007-05-23 13:10:20 +02:00
Francois Gouget 820d954095 ntdll: Fix compilation on systems that don't support nameless unions. 2007-05-21 12:38:54 +02:00
Alexandre Julliard 5aa70b3d80 ntdll: Setup the shared user data structure at 0x7ffe0000. 2007-05-18 18:09:03 +02:00
Alexandre Julliard aaf477f292 server: Change the timeout handling to use NT-style 64-bit timeouts everywhere. 2007-04-17 20:08:59 +02:00
Alexandre Julliard 42050fbf91 ntdll: Fixed typo in previous patch, spotted by Ken Thomases. 2007-03-14 15:02:22 +01:00
Alexandre Julliard 7744443feb ntdll: Add a wrapper to call the thread entry point for broken apps. 2007-03-14 12:28:38 +01:00
Alexandre Julliard 8025f79ce1 ntdll: Implementation of inter-process RtlCreateUserThread. 2007-01-18 15:02:55 +01:00
Alexandre Julliard 7a383cf83f ntdll: Abuse RtlCreateUserThread to call the thread function for CreateThread directly. 2007-01-18 15:02:11 +01:00
Alexandre Julliard 21d631e270 ntdll: Move the LDT section to ntdll and make it an uninterruptible section. 2007-01-18 15:01:45 +01:00
Alexandre Julliard 8891d6de48 ntdll: Block async signals during process init and thread creation. 2007-01-18 12:23:04 +01:00
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