Commit Graph

558 Commits

Author SHA1 Message Date
Alexandre Julliard 5fbb446cfc Moved most of the 16-bit task support and NE module loader to
dlls/kernel.
2003-08-23 00:03:40 +00:00
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