wxMaxima
Loading...
Searching...
No Matches
Data Structures
MaximaProcessManager.h File Reference

The wxMaxima-side owner of the Maxima process and its control socket. More...

#include <wx/string.h>
Include dependency graph for MaximaProcessManager.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  MaximaProcessManager
 The Maxima process/socket lifecycle extracted from the wxMaxima god class. More...
 

Detailed Description

The wxMaxima-side owner of the Maxima process and its control socket.

Starting, stopping, connecting to and interrupting the Maxima process (and the gnuplot subprocess it drives) used to be spread across the wxMaxima god class. That lifecycle is being peeled off into this class to shrink wxMaxima.cpp. Handlers still drive the frame (its status bar, worksheet, configuration) through the m_wxMaxima reference, so MaximaProcessManager is a friend of wxMaxima; the wxMaxima frame owns this object by value.

The first piece to move is the async-signal-safe safety net that kills any still-running child Maxima if wxMaxima is terminated by a signal or crashes before its destructor runs. That net is entirely static (a fixed array of PIDs plus signal handlers) and needs no wxMaxima instance.