Jeremy White
51e4657694
Added support for a WINELOADER environment variable which allows the
...
specification of a different binary loader.
2000-10-25 20:28:22 +00:00
Alexandre Julliard
57f05e1913
Converted a few more server requests to the new mechanism.
2000-10-15 00:40:25 +00:00
Alexandre Julliard
aef9a36059
Use special environment variables to transmit the cwd of the various
...
drives to child processes (based on a patch by Andreas Mohr).
2000-10-03 04:19:16 +00:00
Andreas Mohr
c941effc24
Make GetTickCount not use the whole Unix epoch (since 1970) any more,
...
since that crashed several games or caused problems with them as they
aren't used to a high Windows uptime of more than 24.9 days.
2000-09-22 22:37:56 +00:00
Andreas Mohr
20cd9356a8
- fixes debugger output
...
- get rid of wrong comments
- fix comments
- .spec spelling fix
- improve warning message
2000-09-12 23:40:40 +00:00
Andreas Mohr
9714152e01
Avoid crash on empty command-line.
2000-09-02 23:18:16 +00:00
Alexandre Julliard
92643003cf
Converted a lot of server requests to the new exception handling
...
mechanism.
2000-08-31 01:59:51 +00:00
Alexandre Julliard
9c2370bd75
Added exception handling wrapper to a number of server requests.
...
Changed a few requests to use the new vararg mechanism.
2000-08-30 00:00:48 +00:00
Alexandre Julliard
973ce4a088
Moved TASK_Create call to KERNEL initialisation routine.
...
Clear last error code before calling main entry point (reported by
James Juran).
2000-08-25 22:02:14 +00:00
Andreas Mohr
d398aacfeb
- don't return FALSE for system process changes
...
- SHUTDOWN_NORETRY is 1 and has to be in winbase.h
2000-08-21 20:17:56 +00:00
Alexandre Julliard
52900c818f
Make PDB, ENVDB and STARTUPINFO global variables.
...
Added 'module' field in PDB, and removed Wine-specific fields.
2000-08-09 22:33:42 +00:00
Alexandre Julliard
081ee94117
- Fixed resource functions to work directly from the HMODULE instead of
...
requiring a modref.
- Attempted to get LOAD_LIBRARY_AS_DATAFILE right (based on patches by
Eric Pouech and Dusan Lacko).
- Simplified modref structure and handling.
2000-08-07 04:12:41 +00:00
Alexandre Julliard
6c9d83aa4c
Added imports of user32/gdi32/kernel32 wherever necessary.
2000-08-03 00:04:24 +00:00
Ove Kaaven
128843046d
DOS binary support has been restored.
2000-07-31 21:01:46 +00:00
Alexandre Julliard
a3e0cfc5fb
Get full path of argv[0] before we change directories.
...
Make sure process names are long path names.
Cleaned up initialisation a bit.
2000-07-16 18:21:34 +00:00
Marcus Meissner
dad709122a
Transmit current directory settings to newly created processes.
2000-07-16 15:42:22 +00:00
Alexandre Julliard
596921da0c
Make sure the cmdline passed to CreateProcessA is writeable (thanks to
...
Peter Ganten <peter@ganten.org>).
2000-06-24 20:53:47 +00:00
Juergen Schmied
79d850f2d7
- implemented Get/SetThreadLocale
...
- added comment about OleErrorInfo field in TEB
2000-06-12 21:56:02 +00:00
Alexandre Julliard
a37dec0c7e
Pass the main exe name in the CREATE_PROCESS debug event.
2000-06-08 00:57:24 +00:00
Alexandre Julliard
42cc2bdf46
Setup signal handling and exceptions only after REQ_INIT_PROCESS_DONE
...
has been sent, to avoid deadlocking the debugger.
2000-06-07 03:49:41 +00:00
Ulrich Weigand
7e85ea7c86
Moved stack switch handling (large stack) to sysdeps.c
...
Enable exception dispatch while on large stack.
2000-06-04 01:35:43 +00:00
Alexandre Julliard
7fe09bce86
Moved kernel initialization to kernel_main.c
2000-06-03 04:49:40 +00:00
Alexandre Julliard
c23b1ee3da
Make sure main_exe_name is a DOS filename (thanks to Uwe Bonnes).
2000-06-01 22:48:39 +00:00
Alexandre Julliard
c5e433a3a6
Moved idle event handling to the server.
2000-05-30 19:48:18 +00:00
Alexandre Julliard
c192ba2468
Exec a separate wine binary for every win32 process so that they run
...
in separate address spaces.
Run 16-bit tasks as Win32 threads, not processes.
2000-05-29 21:25:10 +00:00
Alexandre Julliard
d27624be16
Store process file name in startup info.
...
Fixed exe_file handling.
2000-05-03 18:42:40 +00:00
Alexandre Julliard
8c21dfcf0f
Setup the initial thread %fs from a constructor.
2000-05-01 21:21:31 +00:00
Alexandre Julliard
5b4f3e8d6d
Rewrote Unix process launching to allow passing startup information to
...
Winelib apps. Improved handling of execve() failures.
2000-05-01 16:24:22 +00:00
Alexandre Julliard
b44595283f
Improved Winelib apps initialisation code. No longer need to link
...
winestub.o with Winelib apps.
2000-04-15 21:00:55 +00:00
Alexandre Julliard
6a72dc52bd
Load done event now created by the server.
2000-04-14 13:42:00 +00:00
Alexandre Julliard
3ef9322915
Cleanup thread stack allocation. Use a single VirtualAlloc for TEB and
...
the various stacks.
2000-04-13 17:03:22 +00:00
Alexandre Julliard
114830e8a9
Made GetProcessHeap(), GetCurrentProcessId(), GetCurrentThread() and
...
GetCurrentProcess() inline.
2000-04-11 20:01:59 +00:00
Alexandre Julliard
11342151c9
Temporary hack to share handles between processes sharing the same
...
address space.
2000-04-08 21:02:47 +00:00
Alexandre Julliard
0e37eaaca8
Commented out exit() call on ExitProcess for now.
2000-03-30 19:31:02 +00:00
Alexandre Julliard
9a0e28f153
Fixed a couple of file descriptor leaks.
...
Always call USER signal proc in the right context.
Cleaned up THREAD_Create.
2000-03-25 19:14:37 +00:00
Alexandre Julliard
12f29b5076
Have threads and processes exit more cleanly whenever possible.
2000-03-17 15:16:57 +00:00
Alexandre Julliard
c2ec36877a
Removed PROCESS_IsCurrent().
2000-03-10 22:21:07 +00:00
Alexandre Julliard
05f0b71bb3
Store the list of loaded dlls in the server, and generate debug events
...
internally.
2000-03-09 18:18:41 +00:00
Alexandre Julliard
00641d5b1c
Removed PDB32_DEBUGGED flag and send all debug events unconditionally.
...
Implemented IsDebuggerPresent().
2000-03-08 16:41:37 +00:00
Alexandre Julliard
ff81d78708
Generate CREATE_PROCESS/THREAD debug events internally in the server.
2000-03-08 12:01:30 +00:00
Patrik Stridvall
0ee98cc39f
Fixed ANSI C violations.
2000-02-26 13:17:55 +00:00
Andreas Mohr
296186a85f
Added FIXME comment for entry point parameter.
2000-02-20 19:18:30 +00:00
Alexandre Julliard
67a24c8cfb
Store the handle of the process exe file in the server.
...
Removed PROCESS_Initial().
2000-02-18 21:54:32 +00:00
Dave Pickles
717bf7e9ea
Added definition for STILL_ACTIVE.
2000-02-13 16:04:14 +00:00
Ulrich Weigand
f3bfa3a4b0
Mark initial process as 32-bit for WineLib apps.
...
Use teb->tibflags instead of teb->flags (for Win95 USER32 compatibility).
Removed unused thread event.
2000-01-30 21:16:06 +00:00
Andreas Mohr
8cd93514f0
- add some documentation items
...
- fix some spelling
- fix some warnings
2000-01-29 21:12:58 +00:00
Alexandre Julliard
0a7c1f6c5b
Implemented GetThreadSelectorEntry through the server.
2000-01-27 02:54:17 +00:00
Alexandre Julliard
2fe57779fb
Made the server listen for new clients on a Unix socket in
...
$HOME/.wine. Newly started wine processes now attach to an existing
server if one is running.
2000-01-25 01:40:27 +00:00
Peter Ganten
6619f5a71a
Implemented WaitForInputIdle.
2000-01-01 22:38:20 +00:00
Andreas Mohr
7fb732e597
Fixed compiler warnings.
1999-12-12 00:47:51 +00:00
Ulrich Weigand
89a79d21bf
Bugfix: Show main window if CreateProcess was called without the
...
STARTF_USESHOWWINDOW flag.
1999-12-10 03:34:21 +00:00
Dimitrie O. Paun
dd03cc19fd
Make use of the DEFAULT_DEBUG_CHANNEL where appropriate.
...
Use the default version of FIXME, ERR, WARN, TRACE for the default
channel.
1999-12-08 03:56:23 +00:00
Ulrich Weigand
0106f85e5f
Delay sending debug events until process initialization is complete.
1999-12-08 03:28:14 +00:00
Ulrich Weigand
979000e038
Call 16-bit instead of 32-bit UserSignalProc entry point.
...
Don't load USER32.DLL unless requested by the program.
Bugfix: Pass the correct thread ID to UserSignalProc.
1999-12-05 02:48:53 +00:00
Ulrich Weigand
237e8e95b0
Fixed 32-bit module name handling to conform better to Win9x.
...
Removed OFSTRUCT passing during process creation sequence.
Bugfix: don't set exe_modref when LOAD_LIBRARY_AS_DATAFILE is set.
1999-12-04 04:04:58 +00:00
Alexandre Julliard
d083a7bd0c
Fixed DEBUG_ONLY_THIS_PROCESS again (thanks to Ulrich Weigand).
1999-11-29 02:10:56 +00:00
Niels Kristian Bech Jensen
1d5bc469cc
Removed extra #include statements.
1999-11-21 02:14:36 +00:00
Alexandre Julliard
31670003bc
Fixed meaning of DEBUG_ONLY_THIS_PROCESS flag.
1999-11-21 01:06:29 +00:00
Alexandre Julliard
eef7025ef8
Added support for WriteProcessMemory through the server.
1999-11-13 19:54:54 +00:00
Alexandre Julliard
8b8828f578
Added support for ReadProcessMemory through the server.
1999-11-12 21:39:14 +00:00
Alexandre Julliard
ec7bb2391d
Added support for CREATE_SUSPENDED flag in CreateProcess.
1999-11-12 03:35:25 +00:00
Ulrich Weigand
8a64b83eb6
Bugfix: don't call ExitProcess() before SYSLEVEL_Init().
1999-10-23 14:15:33 +00:00
Alexandre Julliard
3d06d20bab
Moved all signal support to a new platform-specific file.
...
Make use of the per-thread signal stack (Juergen Lock).
Fixed %fs in signal handler for non FS_sig case (Ulrich Weigand).
1999-09-27 10:58:45 +00:00
Ulrich Weigand
4d550350f3
Bugfix: Install task-entry breakpoint *after* EXE module is initialized.
1999-07-30 18:05:07 +00:00
Ulrich Weigand
fbea530884
On NE process creation, move major part of NE EXE module loading and
...
NE instance creation into the child process.
1999-07-03 12:26:29 +00:00
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
Ulrich Weigand
26c21f1f57
Load USER32.DLL before calling UserSignalProc.
1999-06-22 19:12:14 +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
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
Andreas Mohr
cd3278be3f
Rearrange winver detection code and cache the winver value we
...
determined in the PDB to speed up.
1999-06-12 14:46:54 +00:00
Guy Albertelli
0e65b38ff3
Add new "walk" command options to list processes and modref's.
1999-06-12 10:49:36 +00:00
Alexandre Julliard
1aa2641636
Use the normal environment routines to build the env db of the initial
...
process.
1999-06-11 18:33:46 +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
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
Alexandre Julliard
463fd4ffb1
Moved remaining initialisations to the new process context.
...
Shuffled things around a bit in PROCESS_Start to avoid deadlocks.
Changed PROCESS_CallUserSignalProc to avoid accessing another process
address space.
1999-05-24 14:44:52 +00:00
Ulrich Weigand
a1957c4d64
Wait until child initialized before returning from PROCESS_Create.
1999-05-24 08:10:46 +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
158f00ed8d
Bugfix: dwFlags must describe target process in UserSignalProc.
1999-05-23 09:31:49 +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
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
Alexandre Julliard
64ae5a57cf
Moved a few more initialisations to the new process context.
1999-05-02 19:10:57 +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
Ulrich Weigand
586793ffd8
Initialize process critical section in the correct process context.
1999-04-25 11:04:45 +00:00
Patrik Stridvall
b4b9fae671
New debug scheme with explicit debug channels declaration.
1999-04-19 14:56:29 +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
Kevin Holbrook
a8f8bef098
Fix ambiguous else warning.
1999-04-18 09:33:20 +00:00
Ulrich Weigand
9e696f8906
Non-functional PROCESS_Suspend/ResumeOtherThreads removed.
1999-04-11 17:11:09 +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
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
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
Alexandre Julliard
1c40024b15
Added cmd line in new_process request.
1999-03-27 16:21:05 +00:00
Alexandre Julliard
875c4b3c61
Added server pid and tid in init_thread request, and use them in
...
CLIENT_InitThread.
1999-03-23 14:09:41 +00:00
Ulrich Weigand
93b23d746d
Run Win32 processes in their own threads.
...
Process exit sequence adapted.
1999-03-22 10:35:44 +00:00
Alexandre Julliard
f016752b45
Changed process initialisation to use the new server requests.
...
Started to move the process init to the right context, not finished yet.
1999-03-21 19:26:25 +00:00
Ulrich Weigand
4526f2ec66
Pass new arguments (suspend/inherit) to the server.
1999-03-16 16:28:59 +00:00
Alexandre Julliard
96c08d817c
Use server handles directly for Win32 handles. Removed use of K32OBJ.
1999-02-28 13:27:56 +00:00
Alexandre Julliard
8feb3bc177
Process and thread id now use the server-side id instead of an
...
obfuscated pointer.
1999-02-28 12:25:03 +00:00
Ulrich Weigand
6e0d38603e
Process creation sequence reorganized:
...
- Removed instance data segment for all but NE modules.
- Check binary type in CreateProcess before loading module.
- Unix process creation moved from WinExec to CreateProcess.
- Bugfix: fill in thdb->teb.htask16 member correctly.
1999-02-28 11:14:32 +00:00
Alexandre Julliard
a396029270
Large-scale renaming of all Win32 functions and types to use the
...
standard Windows names.
1999-02-26 11:11:13 +00:00
Alexandre Julliard
214399f283
Changed initial process creation to avoid memory allocations.
...
Removed a few unused fields in PDB and THDB.
1999-02-21 18:35:27 +00:00