mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 19:26:32 +00:00
dd5a9c52316c8c36a9ebbb1cc81461be0a734edc
- Fix console apps initialization.
- Add some debug output (NOTE TO MYSELF: remove them when all things work).
- Rewrite ConsoleNewProcess.
- Reorganize SrvAllocConsole and create ConsoleConnect based on SrvAllocConsole.
- Create ConsoleDisconnect which undoes what ConsoleConnect and ConsoleNewProcess did.
- Rework a little bit CsrInitConsole.
Now the console app. initialization algorithm is the following:
1- A process is created, its type (GUI or CUI) is determined (kernel32 and basesrv).
2- ConsoleNewProcess is called (consrv) and makes this new process inherit the console handles table from its parent
(NOTE: this is done for all CUI processes, because at this point, we still don't know whether we must inherit
the handles from the parent or not).
3- (back in kernel32) In BasepInitConsole, we determine whether or not we must create a new console window or use
the parent's one or not using one at all. We (as a client) connect to the console server (consrv) (via CsrClientConnectToServer)
which in turn (via CSRSS mechanism) calls ConsoleConnect. For GUI processes we do nothing. For CUI processes, we initialize
a new console based on properties set in BasepInitConsole.
4- When a process dies, ConsoleDisconnect is called and whether it is a GUI or CUI process, we revert the actions done previously.
Part 2/2
TODO: - Debug the CSR waits.
- Work on the console properties property-sheet.
- See what can be done on http://jira.reactos.org/browse/CORE-122
svn path=/branches/ros-csrss/; revision=58098
======================== ReactOS Version 0.3.x Updated Dec 16, 2006 ======================== 1. What is ReactOS? ReactOS is an Open Source effort to develop a quality operating system that is compatible with Windows NT applications and drivers. The ReactOS project, although currently focused on Windows XP/2003 drivers compatibility, is always keeping an eye toward compatibility with older version of Windows NT family ( NT 4.0, 2000 (NT 5.0)) and new Windows NT releases (Vista, etc). Applications (Win32 API) compatibility focus is Windows XP. More information is available at http://www.reactos.org/. 2. Building ReactOS See the INSTALL file for more details. 3. More information See the media\doc subdirectory for some sparse notes. 4. Who is responsible See the CREDITS file.
Languages
C
86.9%
C++
10.7%
Python
0.7%
Assembly
0.5%
CMake
0.5%
Other
0.4%