Commit Graph

557 Commits

Author SHA1 Message Date
Alexandre Julliard aee989a7ed Store the debug info structure on the thread stack.
Moved thread initialization code from sysdeps.c to thread.c to avoid
an indirection.
2003-08-21 21:34:33 +00:00
Eric Pouech 449d10fd79 Fixed regression in process creation (std handle inheritance). 2003-08-19 01:05:17 +00:00
Alexandre Julliard 03d7998970 Moved __errno_location() handling to pthread.c, and added similar
handling for __res_state().
2003-08-15 03:55:06 +00:00
Alexandre Julliard 19b6a49845 Allocate DebugInfo field for all critical sections (based on a patch
by Alex Pasadyn).
Get rid of the Wine-specific CRITICAL_SECTION_INIT macro.
2003-08-12 23:50:54 +00:00
Alexandre Julliard 97d862c93c Fixed the pthread wrappers to work with the new glibc/linuxthreads
interface in glibc 2.3.2.
2003-08-12 18:59:13 +00:00
Alexandre Julliard e8b2630620 Use NtQueryInformationThread to implement GetExitCodeThread. 2003-07-09 19:58:01 +00:00
Alexandre Julliard 8ca7e0af78 Added a file_exists argument to wine_dll_load to allow checking
whether a failed dll load is because the file didn't exist; more
robust than trying to guess the contents of the error string...
Get rid of BUILTIN32_dlopen.
2003-07-03 18:23:10 +00:00
Eric Pouech 675b75597b - removed next & prev fields from WINE_MODREF and implement instead
the three linked lists in LDR_MODULE
- added PEB_LDR_DATA structure to PEB
- removed a couple of no longer needed global & static variables
2003-07-01 03:38:56 +00:00
Alexandre Julliard 217fdab78f Implemented NtDelayExecution and make Sleep call it.
The handle count must not be 0 in NtWaitForMultipleObjects (spotted by
Troy Rollo).
2003-06-30 21:00:15 +00:00
Alexandre Julliard 4cb212063b Moved some of the process functions to dlls/kernel.
Removed kernel dependencies from sysdeps.c and moved it to dlls/ntdll.
2003-06-27 04:08:04 +00:00
Alexandre Julliard dc4b0c7655 Moved tape.c to dlls/kernel.
Moved critical section and resource update functions to dlls/kernel.
Started moving some of the thread functions too.
2003-06-24 03:34:15 +00:00
Eric Pouech c962a6997c - in kernel32, replaced all {Enter|Leave}CriticalSection calls with
ntdll counterparts
- {Enter|Leave}CriticalSection is now a pure forward from kernel32 to
  ntdll (we now longer can use {Enter|Leave}CriticalSection in kernel32)
- replaced a few kernel32 heap management calls from ntdll, with
  RtlHeap* equivalents
2003-06-23 18:12:28 +00:00
Eric Pouech 412d37f6e6 - adapted kernel32 so that it no longer (directly) manages console
handles as wineserver handles
- console input handle object is no longer waitable (input record
  synchronisation is now implemented as a simple semaphore), and removed
  FD_TYPE_CONSOLE from fd types in wineserver
- console handles now always have their two lower bit set so one can
  distinguish a console handle from a kernel object handle
- implemented some undocumented kernel32 console related APIs
  (CloseConsoleHandle, GetConsoleInputWaitHandle, OpenConsoleW,
  VerifyConsoleIoHandle, DuplicateConsoleHandle)
- allowed a few kernel32 APIs to take console pseudo-handles
  (FlushFileBuffer, GetFileType, WaitFor*Object*)
- simplified the console inheritance at process creation
- in console tests, no longer create a console if one already exists
2003-06-21 02:07:10 +00:00
Francois Gouget 9591836ffb 'sizeof type' is best avoided as it won't always compile (e.g. 'int
main() {return sizeof int;}'). Use 'sizeof(type)' instead.
2003-06-18 19:45:22 +00:00
Eric Pouech b53b5bcb50 - fixed a couple of bugs in ntdll environment functions (one in trace,
the other one in environment variable expansion)
- the process parameters, when passed thru wineserver, are now fully
  handled in ntdll, they are stored in the RTL_USER_PROCESS_PARAMETERS
  structure.
- later on in kernel32 loading sequence, those parameters are copied
  into STARTUPINFO shadow structures
- later modification to those paramters are now reflected to the
  RTL_USER_PROCESS_PARAMETERS structure (and STARTUPINFO is kept
  untouched) (for example, StdHandle setting) (Win 2k behaves like this)
- ENVDB has been removed
- command line inheritance (from unix command line) is now purely in ntdll
- all kernel32 environment functions now rely on their ntdll counterparts
- goodies: input/output handle inheritance while asking for a detached
  console is better handled; a few more kernel32 environment tests now
  pass ; silenced a valgrind warning in process creation
2003-06-18 03:23:22 +00:00
Lionel Ulmer 370db5b47c Implemented a semi-stub for GetProcessPriorityBoost. 2003-06-04 20:17:00 +00:00
Alexandre Julliard 6bc5091160 Start to make use of the proper PEB structure for process
information.
2003-05-22 03:44:01 +00:00
Alexandre Julliard 81e72d8f2d Moved all process initialisation code to process.c and removed
loader/main.c.
2003-05-20 19:21:43 +00:00
Eric Pouech c00a4473bd Implement anonymous pipes on top of named pipes. 2003-05-20 04:32:53 +00:00
Alexandre Julliard 9bf3ac619e Moved timer functions to dlls/kernel. 2003-05-20 04:14:45 +00:00
Eric Pouech 4c591d4ef3 Implemented timer related functions in ntdll and make the kernel32
functions use them.
2003-05-20 04:00:42 +00:00
Francois Gouget 8458040172 Fix CreateProcess("c:\Program Files\hello.bat"). 2003-05-19 23:16:12 +00:00
Alexandre Julliard c963e25c0e Get rid of the 32-bit user signal proc since we always run builtin
USER now.  Moved USER module cleanups to the 16-bit signal proc.
2003-05-15 23:11:00 +00:00
Eric Pouech 35d5d06ac9 Implemented RtlDosPathNameToNtPathName_U, RtlGetCurrentDirectory_U,
RtlGetFullPathName_U and RtlSetCurrentDirectory_U (the last one
partially as we can't test whether a path exists or not).
2003-05-15 04:20:42 +00:00
Alexandre Julliard adb532903c Rewrote module TLS support and moved it to ntdll. 2003-05-14 19:51:14 +00:00
Alexandre Julliard e15aadd58a Allocate/free the 16-bit thread stack in the kernel dll init routine. 2003-05-13 00:49:49 +00:00
Adam Gundy 5548822a7d writejump() needs to tell valgrind which piece of code has been
modified.
2003-05-08 21:03:30 +00:00
Eric Pouech 2d758c6444 Implemented a bunch of environment related NTDLL APIs. 2003-05-08 03:47:00 +00:00
Alexandre Julliard fedc411743 Moved the functionality of starting Win16 and DOS programs from the
common process startup into a separate winevdm application.
2003-04-27 00:47:58 +00:00
Alexandre Julliard 22ae4ff608 Set SA_NOCLDWAIT in the SIGCHLD sigaction to avoid zombies. 2003-04-20 02:48:06 +00:00
Alexandre Julliard a058584d4c Explicitly call VERSION_Init with the main exe file name, so that
application settings work for Win16 and DOS apps too.
2003-04-20 02:46:44 +00:00
Yorick Hardy ea3342de42 errno should not be used as a variable name. 2003-04-13 01:04:25 +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
Alexandre Julliard ff152b650f Added hack to patch the glibc errno_location to jump to our function,
based on a patch by Marcus Meissner.
2003-04-03 03:50:56 +00:00
Alexandre Julliard 6a9cea957a Added --with-nptl configure option and necessary changes to support
running on top of NPTL threads.
2003-04-03 02:54:54 +00:00
Alexandre Julliard 3200c02b9c Don't bother checking for the errno function, simply define all of
them.
2003-04-02 23:27:46 +00:00
Alexandre Julliard 462172a3d6 Added abs_time_t structure to the server protocol, and added a dump
routine for it that displays the relative timeout to make timeout
values easier to interpret.
2003-04-02 22:48:59 +00:00
Alexandre Julliard 6f7a204466 Added SYSDEPS_GetUnixTid to return the Unix thread id to send to the
server.
2003-04-01 04:39:35 +00:00
Alexandre Julliard fbef57c0ce Moved WaitForMultipleObjects to ntdll (based on a patch by Eric
Pouech).
Added NTDLL_get_server_timeout function to compute ntdll-style
timeouts and adapted the timer code to use it.
2003-03-31 01:37:04 +00:00
Alexandre Julliard 91deba1d5e Clear the entire request, not just the end, in case it contains
padding bytes.
2003-03-30 03:08:52 +00:00
Alexandre Julliard 5537dbbf40 Replaced WINE_CHECK_STRUCT_MEMBER autoconf macro by the standard
AC_CHECK_MEMBERS. Added check for si_fd in siginfo_t.
2003-03-28 00:36:12 +00:00
Alexandre Julliard b59bf98b93 Moved errno_location support to sysdeps.c. 2003-03-26 01:33:48 +00:00
Alexandre Julliard 78675ba234 Store %gs in the TEB on every call to 16-bit code, and don't restore
it from the TEB for signals that did not happen in 16-bit code.
2003-03-25 00:36:16 +00:00
Alexandre Julliard a8497bd037 Make a distinction between the thread Unix pid and the process wide
pid for platforms that use both.
2003-03-22 21:00:09 +00:00
Alexandre Julliard 6a26e3f7ac Split signal blocking code out of SIGNAL_Reset into SIGNAL_Block.
Added SIGTERM handler.
2003-03-21 23:45:26 +00:00
Gerald Pfeifer 69497b3c97 Forward-declare struct _pthread_cleanup_buffer, as it is
Linux-specific and not available in the headers of other systems.
2003-03-21 00:33:33 +00:00
Eric Pouech f94c8b85b9 Move some fields (refCount, tls_index and module) from WINE_MODREF to
LDR_MODULE.
2003-03-20 22:05:26 +00:00
Alexandre Julliard 2ee8b5bb13 Replaced mkstemp by mkstemps from libiberty.
Removed a couple of unnecessary portability functions.
2003-03-20 21:07:49 +00:00
Alexandre Julliard b5a495c77a Init signals before calling CLIENT_InitThread since we can receive a
signal there.
2003-03-15 00:06:35 +00:00
Alexandre Julliard d04ccb8ebe Use SIGUSR1 instead of SIGSTOP to suspend threads. 2003-03-04 22:18:43 +00:00