Commit Graph

401 Commits

Author SHA1 Message Date
Alexandre Julliard ebe29ef376 Further server optimizations:
- merged request and reply structures
- build requests directly into the buffer to avoid a copy
1999-06-26 08:43:26 +00:00
Alexandre Julliard 0a860a01f9 Merged THDB and TEB structures.
Made SetLastError(), GetCurrentThreadId() and PROCESS_Current() inline.
1999-06-22 11:43:42 +00:00
Alexandre Julliard 94eedf1df0 Use exceptions instead of ctx_debug_call. 1999-06-18 18:25:59 +00:00
Alexandre Julliard 1eeed68514 Moved signal handling to exception.c, generate exceptions on signals.
Added hook for debugger in exception handling (temporary).
1999-06-18 18:21:24 +00:00
Ulrich Weigand 5d617e5002 Fix compiler warning. 1999-06-18 16:59:37 +00:00
Marcus Meissner 1ab8907fce Fixed ambigous else/brace problem, moved "name" computation in
CreateProcess _before_ outputting it in the FIXME_()s.
1999-06-13 08:39:04 +00:00
Ulrich Weigand 23f4b09cc3 Removed broken hack to support shared DLLs (e.g. USER32.DLL) and
replaced it by a somewhat less broken hack :-/
1999-06-13 08:34:42 +00:00
Alexandre Julliard a099a555c3 Converted to the new debug interface, using script written by Patrik
Stridvall.
1999-06-12 15:45:58 +00:00
Patrik Stridvall fdcfdb9a6d Added missing/wrong includes. 1999-06-12 14:55:11 +00:00
Patrik Stridvall 4bf335497d Removed direct references to CLASS internals. 1999-06-12 14:52:15 +00:00
Guy Albertelli 0e65b38ff3 Add new "walk" command options to list processes and modref's. 1999-06-12 10:49:36 +00:00
Eric Pouech 63c7cdf196 Made the service thread instanciable in every process. 1999-06-12 08:24:23 +00:00
Ove Kaaven e78e1af43e Various DPMI fixes and preliminary DPMI raw mode switch handler. 1999-06-12 08:09:52 +00:00
Ulrich Weigand 85bcb2e152 Release Win16Lock during PROCESS_Create. 1999-06-12 06:41:16 +00:00
Marcus Meissner 905884dcdd Trying to fix sigaltstack() problem reported by Debian users.
SIGTRAP might be undefined (beos).
1999-06-07 17:43:47 +00:00
Ulrich Weigand d523e4dbe6 Consult ne.operating_system field for NE files in GetBinaryType(). 1999-06-07 17:37:43 +00:00
Ulrich Weigand ed49003188 16-bit scheduler reorganized: run all tasks in their own thread.
Process creation sequence adapted to new scheduler.
1999-06-06 14:47:50 +00:00
Ulrich Weigand ad6657e334 Removed SERVICE_Exit(). 1999-06-06 14:43:34 +00:00
Guy Albertelli 38d7da8d52 Use SearchPath to test for existance of programs in lpCmdLine
processing. For lpApplName do not append ".exe" and use
DOSFS_GetFullName to locate the program. Move module find process
after flag testing and provide quick exit if not found.
1999-06-06 09:04:29 +00:00
Alexandre Julliard 54a39e253c Got rid of THREAD_InitDone.
Made THREAD_Current() inline.
Moved server tid into TEB.
1999-05-29 14:27:26 +00:00
Gerald Pfeifer 61e18d463d Fixed compilation erros on non-Linux systems. 1999-05-29 10:54:25 +00:00
Alexandre Julliard bda3969d98 Removed process argument to PROCESS_CallUserSignalProc. 1999-05-24 15:01:05 +00:00
Ulrich Weigand 89fc6fda97 Moved WINSOCK network IO event handling to special thread.
Removed EVENT_WaitNetEvent, introduced a global scheduler event.
1999-05-24 08:13:02 +00:00
Alexandre Julliard d131a17ee0 Use the new debug functions to send debug events at appropriate places.
Pass the process creation flags to PROCESS_Create.
1999-05-23 20:02:04 +00:00
Ulrich Weigand 4698dc5677 Added UserRepaintDisable16(). 1999-05-22 19:02:04 +00:00
Ulrich Weigand 8c2dc8b1b8 Adapted to event synchronization changes. 1999-05-22 18:58:36 +00:00
Ove Kaaven 6ba5914005 Fixed silly EINTR bug with starting dosmod. 1999-05-22 18:48:09 +00:00
Ulrich Weigand c319c669fb Added ExitKernel16 (replacing USER_ExitWindows), ExitProcess16, and
MapProcessHandle; stub for BUNNY_351.
1999-05-22 16:18:36 +00:00
Bertho Stultiens d88e7661e0 Bugfix: Prevent null-pointer dereference in TRACE argument list in
RES_FindResource
1999-05-22 11:26:33 +00:00
Bertho Stultiens 8b36b6317b Fixed wrong NE module registration so that resources work. 1999-05-22 11:25:24 +00:00
Ulrich Weigand 6315a7f334 Fix swapped FreeLibary return values. Handle FreeLibrary( 0 ) better.
Fix DLL_PROCESS_DETACH call sequence bugs resulting from nested
FreeLibrary calls.
1999-05-22 10:44:39 +00:00
Ove Kaaven e54d4d15c4 Added MZ_Current() (returns current LPDOSTASK) and DOSVM_Wait()
(DOSVM idle message loop), and fields hConInput and hConOutput.
1999-05-22 10:40:15 +00:00
Marcus Meissner 2b898806ec glide2x loadorder is "so,native". 1999-05-17 16:06:42 +00:00
Ulrich Weigand fdd6429632 Release Win16Lock when calling LoadLibrary32 from 16-bit code. 1999-05-17 15:00:13 +00:00
Alexandre Julliard 0a277b638c Adapted for new register functions support (ESP_reg in register
functions now points after the arguments).
1999-05-13 16:21:37 +00:00
Alexandre Julliard b6ecb9a2ab Changed some error handling a bit. 1999-05-12 10:15:41 +00:00
Alexandre Julliard 4cd0776938 Use OpenFile() to test for file existence, so that the path gets
searched.
1999-05-09 16:05:08 +00:00
Uwe Bonnes f445ba78ab Fixed extension handling in LoadLibrary16. 1999-05-08 18:21:05 +00:00
Patrik Stridvall 896889f317 ANSI C fixes. 1999-05-08 12:50:36 +00:00
Ulrich Czekalla 6e709a1ed0 Bugfix: get_sobasename was off by one pointer increment. 1999-05-08 12:37:34 +00:00
Ulrich Weigand e9caf93bbb Removed TIMER_SwitchQueue. 1999-05-08 10:47:23 +00:00
Marcus Meissner 013d08805a Stop winelib programs on fault instead of endless faultlooping. 1999-05-08 10:44:43 +00:00
Ulrich Weigand 1c971e3364 Some initialization sequence bugfixes:
- Initialize process crst for 16-bit processes.
- Don't crash due to uninitialized stack frames in WineLib.
- Map system DLLs before calling UserSignalProc.
- Signal USIG_PROCESS_CREATE only *after* the env_db is filled.
1999-05-08 09:58:47 +00:00
Ulrich Weigand b613a105b6 Bugfix: all PE modules were marked 'internal'. 1999-05-08 09:51:47 +00:00
Ulrich Weigand ef61c0b632 Initialize WIN_CritSection earlier. 1999-05-08 09:45:50 +00:00
Ulrich Weigand 70b2e383a0 Fixed various stupid bugs in services thread routines.
Added SERVICE_Exit routine to kill the services thread.
1999-05-04 16:43:38 +00:00
Ulrich Weigand 6ce4006137 Bugfix: release Win16Lock in WinExec16, CallProc[Ex]32W_16. 1999-05-03 09:22:55 +00:00
Ulrich Weigand b8fa2962e5 Load system DLLs into WineLib applications. 1999-05-03 09:22:05 +00:00
Alexandre Julliard 481a8e263c Bug fixes. 1999-05-03 08:58:25 +00:00
Alexandre Julliard 1c4c409f04 Don't initialise the stacks for 32-bit processes. 1999-05-02 19:10:04 +00:00
Alexandre Julliard e8c6a08cd9 Converted to the new debugging interface (done with the help of the
script written by Patrik Stridvall).
Some changes to the initialisation sequence for 32-bit processes.
1999-05-02 14:33:41 +00:00
Alexandre Julliard 06c275a643 Converted to the new debugging interface (done with the help of the
script written by Patrik Stridvall).
1999-05-02 14:32:27 +00:00
Eric Pouech 281c927317 - got rid of all the internal MM tweaks to load builtin MCI
drivers. They are all seen as drivers, loaded as DLLs and standard
  module loadorder is used to know which type to use (builtin vs
  native).
- first full working implementation of mmThread??? functions (to
  support gracefully native MCI drivers).
- support of mmShowMMCPLPropertySheet.
- fix of some heap validate bugs (thanks to Ulrich for reporting them).
1999-05-02 10:21:49 +00:00
Guy Albertelli 4f6d7f38dc Fix CreateProcessA to implement correct actions on ambiguous command
line names (try longer and longer strings).
1999-05-02 10:17:31 +00:00
Bertho Stultiens 014855850e Only try to append ".dll" if a library is loaded implicitely. 1999-05-02 09:21:31 +00:00
Bertho Stultiens 7168070b01 The load order parser should not always complain about extensions. 1999-04-26 14:55:24 +00:00
Eric Pouech abd79ddda4 Fixed loading of native NE dlls. 1999-04-26 14:53:32 +00:00
Bertho Stultiens d1895a776c Built-in dlls now have resources attached via the PE-header like
normal dlls. This enables the use of the resource API.
1999-04-25 18:31:35 +00:00
Patrik Stridvall c7a8dde118 #pragma pack(?) changed to #include "*pack*.h" 1999-04-25 12:36:53 +00:00
Eric Pouech 658191ee00 wine.conf should not overrule content of burned in data in
loadorder.c.
1999-04-25 12:23:26 +00:00
Marcus Meissner 333d1e2f8e debug.h must be last in list of includes. 1999-04-25 11:03:11 +00:00
Ulrich Weigand 287f1f0eab Return 32-bit module in GetModuleHandle16() if appropriate. 1999-04-25 11:02:33 +00:00
Marcus Meissner a739a69c41 Use DllOverrides from wine.ini as defaults also in
loadorder.c (merged in some MM dlls lines from Eric Poeuch).
1999-04-25 09:15:25 +00:00
Marcus Meissner f070fda20d autoconf fixes and cleanups (check for dlopen() in libc too). 1999-04-24 12:02:14 +00:00
Gerald Pfeifer 8102f7487d #else branch compile fix. 1999-04-22 09:15:31 +00:00
Bertho Stultiens 3b5c29f539 Change wine's dlopen search-patch strategy not using the environment
and added #if:s to seperate the code out if libdl isn't availble.
1999-04-22 09:13:38 +00:00
Bertho Stultiens f4b6e82b84 Do not increment module refCount if self is loaded from within
DllEntryPoint during the attach notification.
1999-04-22 08:56:40 +00:00
Bertho Stultiens 964e0460f4 Reimplementation of GetModuleHandle16 according to how win95 handles
it (thanks to Marcus Meissner <marcus@jet.franken.de>).
1999-04-21 14:26:17 +00:00
Bertho Stultiens 94bb5bb1a7 Removed non-portable hacks and replaced them with more general
versions.
1999-04-19 16:44:22 +00:00
Bertho Stultiens af5745f504 Attach notifications must be send after all recursive dependencies are
loaded and not before.
1999-04-19 16:32:31 +00:00
Patrik Stridvall b4b9fae671 New debug scheme with explicit debug channels declaration. 1999-04-19 14:56:29 +00:00
Alexandre Julliard 3c9cf42d00 Removed extra call to TASK_StartTask. 1999-04-18 14:44:26 +00:00
Eric Pouech 85aac70064 Fixed memory freeing. 1999-04-18 13:31:34 +00:00
Alexandre Julliard db000ee3e8 Fixed toolhelp routines usage in GetModuleFromPath (reported by Bertho
Stultiens).
1999-04-18 13:18:42 +00:00
Bertho Stultiens c1d1cfe976 Reorganization of the loader to correctly load and free libraries and
implementation of load order to load different types of libraries.
1999-04-18 12:14:06 +00:00
Bertho Stultiens cebb2f1157 New files to support load order and partial stubs for elfdlls. 1999-04-18 12:09:21 +00:00
Kevin Holbrook a8f8bef098 Fix ambiguous else warning. 1999-04-18 09:33:20 +00:00
Marcus Meissner d8a8b00ae0 Disable AC bit on receiving alignment exceptions. 1999-04-18 09:22:12 +00:00
Andreas Mohr dca5e56b90 - Implemented proper ("real", compressed) Win16 entry tables.
- Fixed MyAlloc (AKA NE_AllocateSegment).
- Implemented PatchCodeHandle16.
1999-04-16 08:17:17 +00:00
Marcus Meissner f31ec0b08a FreeBSD 3 multithreading final fix. Do not use libc_r, libc is just as
reentrant concerning errno. Revert unneeded FreeBSD hack to
loader/signal.c from last patch.
1999-04-15 16:38:38 +00:00
Ulrich Weigand d1e2239ff0 Bugfix: Always release the Win16Lock in TASK_Reschedule. 1999-04-15 15:30:33 +00:00
Marcus Meissner c26063818f - Started multithreading for FreeBSD (incomplete, but some
applications now at least start up again).
- Use _thread_sys_sigaction/_thread_sys_sigaltstack.
- CR2 on pagefault gets passed in sc_err (some kind of kludge in
  FreeBSD owns fault handling we can use)
1999-04-11 15:20:29 +00:00
Ulrich Weigand 7761cbe0b6 Implemented 'kernel services thread'. 1999-04-11 15:01:20 +00:00
Bertho Stultiens 1b34697ad3 FreeLibrary partial implementation. 1999-04-11 14:52:24 +00:00
Ulrich Weigand 2e658768dc Send USIG_PROCESS_CREATE signal.
Bugfix: GetProcessDword offset -8 should return parent process ID.
1999-04-11 12:06:04 +00:00
Bertho Stultiens c6ba86377e GetModuleFromPath now checks for loaded modules via filenames which
were specified without a path.
1999-04-10 16:47:47 +00:00
Marcus Meissner 574ef76b9f Added some SetLastError()s in GetProcAddress() and LoadLibrary(). 1999-04-03 16:23:47 +00:00
Ove Kaaven 240bdacb8d Made DOSVM_GetTimer survive EAGAIN errors... 1999-04-01 11:53:52 +00:00
Ulrich Weigand e392a0c975 Added USER32.UserSignalProc to Callout table.
Implemented built-in UserSignalProc().
Don't announce Win3.1-style USER handler any more.
1999-04-01 11:44:52 +00:00
Ulrich Weigand 8139c30125 Implemented PROCESS_CallUserSignalProc().
Send USER signals at various appropriate places.
Moved [GS]etProcessDword() to scheduler/process.c.
1999-04-01 11:43:05 +00:00
Marcus Meissner 9c6735e6a2 "foo" was not translated to "foo.so" in elf loader. 1999-04-01 10:09:46 +00:00
Ulrich Weigand 6903156eb5 Allow NULL NE resource handler; call the default handler directly.
Removed WPROCS / Callbacks support for WineLib resource handlers.
1999-04-01 10:08:21 +00:00
Jess Haas 1ff60f3451 Fixed CreateProcessA so it can handle commandlines with arguments and
no .exe.
1999-03-28 15:00:44 +00:00
Jess Haas 0f6efae8bf Fixed GetModuleHandle16. 1999-03-28 14:57:37 +00:00
Marcus Meissner d208d8264a Empty DOSVM_QueueEvent for !MZ_SUPPORTED. 1999-03-28 12:34:25 +00:00
Ulrich Weigand e469a583ca Fixed sequence of DLL_PROCESS_DETACH notification calls.
Moved PE_MODREF flags to WINE_MODREF level.
Better handling of LoadLibraryEx flags.
PE_InitTls() changed to work only on the current thread.
1999-03-27 16:45:57 +00:00
Ulrich Weigand da5779e5bd Allow UserYield16 to be called from 32-bit thread. 1999-03-27 16:10:52 +00:00
Stephane Lussier 35ffc5d8c0 Made the timer code thread safe. 1999-03-25 13:23:26 +00:00
Ove Kaaven 5394258a90 Added infrastructure and definitions for general-purpose event and IRQ
handling for the Wine dos box. Removed the obsolete MZ_Tick. Added
event message loop, message handling, CLI/STI handling, and minimal
PIC support.
1999-03-25 10:53:08 +00:00
Ove Kaaven 9ea09ca866 Added handling of SIGUSR2 for the new event interruption handling,
bumping up the protocol revision. Made some debug messages not be
output when it's not necessary.
1999-03-25 10:52:03 +00:00