# ReactOS Session Manager Rewrite and Memory Leak Fixes

DevFeed: [ReactOS Session Manager Rewrite and Memory Leak Fixes](<https://devfeed.tech/articles/newsletter-91-32957.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/newsletter-91/>)

Published: 2012-02-29T00:00:00Z

Content type: news

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [ReactOS](<https://devfeed.tech/topics/reactos.md>), [Operating system](<https://devfeed.tech/topics/operating-system.md>), [Memory Leaks](<https://devfeed.tech/topics/memory-leaks.md>), [Processes](<https://devfeed.tech/topics/processes.md>)

Tags: [environment-variables](<https://devfeed.tech/tags/environment-variables.md>), [free](<https://devfeed.tech/tags/free.md>), [memory-leaks](<https://devfeed.tech/tags/memory-leaks.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [processes](<https://devfeed.tech/tags/processes.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

## AI overview

This ReactOS newsletter reports on a rewrite of the session manager subsystem and related work in the Win32 subsystem. It describes changes to environment initialization, process and service startup, threading, and fixes that reduced memory use and addressed a major memory leak.

## Source excerpt

Session Manager Subsystem Rewrite The session manager subsystem is responsible for initializing much of the operating system environment and starting up services and processes needed to get a user to the login screen. Specifically, it creates the environment variables inherited by other processes, loads the Win32 subsystem, sets up the pagefiles for virtual memory, and finally starts up the winlogon.exe process, amongst other things. The implementation that was in ReactOS took many shortcuts in how it communicated with subsystem components, which in turn led to those components not correctly implementing the interfaces SMSS was supposed to use.