A free Windows-compatible Operating System - mirrored from GitHub
Go to file
Hermès Bélusca-Maïto dd5a9c5231 [CONSRV]
- 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
2013-01-02 00:32:20 +00:00
base
boot
cmake
dll [KERNEL32/BASESRV] 2013-01-01 23:41:42 +00:00
drivers
hal
include [KERNEL32/BASESRV] 2013-01-01 23:41:42 +00:00
lib
media
modules
ntoskrnl
subsystems [KERNEL32/BASESRV/CONSRV] 2013-01-01 23:36:19 +00:00
win32ss [CONSRV] 2013-01-02 00:32:20 +00:00
.hgeol
apistatus.lst
CMakeLists.txt
configure.cmd
configure.sh
COPYING
COPYING.ARM
COPYING.LIB
COPYING3
COPYING3.LIB
CREDITS
depmap.xsl
Doxyfile
global.lds
INSTALL
PreLoad.cmake
README
toolchain-gcc.cmake
toolchain-msvc.cmake
vreport.xsl

========================
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.