Diff
Not logged in

Differences From Artifact [eee51044d0]:

To Artifact [3f75550628]:


28
29
30
31
32
33
34

35
36
37
38





39
40
41
42
43
44
45
28
29
30
31
32
33
34
35




36
37
38
39
40
41
42
43
44
45
46
47







+
-
-
-
-
+
+
+
+
+







TCL_DECLARE_MUTEX(pipeMutex)

/*
 * The following defines identify the various types of applications that run
 * under windows. There is special case code for the various types.
 */

enum ApplicationTypes {
#define APPL_NONE	0
#define APPL_DOS	1
#define APPL_WIN3X	2
#define APPL_WIN32	3
    APPL_NONE = 0,
    APPL_DOS = 1,
    APPL_WIN3X = 2,
    APPL_WIN32 = 3
};

/*
 * The following constants and structures are used to encapsulate the state of
 * various types of files used in a pipeline. This used to have a 1 && 2 that
 * supported Win32s.
 */

63
64
65
66
67
68
69

70
71
72



73
74
75


76
77
78
79



80
81
82



83
84
85
86
87
88
89
65
66
67
68
69
70
71
72



73
74
75
76


77
78
79



80
81
82
83


84
85
86
87
88
89
90
91
92
93







+
-
-
-
+
+
+

-
-
+
+

-
-
-
+
+
+

-
-
+
+
+







    HANDLE hProcess;
    DWORD dwProcessId;
    struct ProcInfo *nextPtr;
} ProcInfo;

static ProcInfo *procList;

enum PipeInfoFlags {
/*
 * Bit masks used in the flags field of the PipeInfo structure below.
 */
    /*
     * Bit masks used in the flags field of the PipeInfo structure below.
     */

#define PIPE_PENDING	(1<<0)	/* Message is pending in the queue. */
#define PIPE_ASYNC	(1<<1)	/* Channel is non-blocking. */
    PIPE_PENDING = (1<<0),	/* Message is pending in the queue. */
    PIPE_ASYNC = (1<<1),	/* Channel is non-blocking. */

/*
 * Bit masks used in the sharedFlags field of the PipeInfo structure below.
 */
    /*
     * Bit masks used in the sharedFlags field of the PipeInfo structure below.
     */

#define PIPE_EOF	(1<<2)	/* Pipe has reached EOF. */
#define PIPE_EXTRABYTE	(1<<3)	/* The reader thread has consumed one byte. */
    PIPE_EOF = (1<<2),		/* Pipe has reached EOF. */
    PIPE_EXTRABYTE = (1<<3)	/* The reader thread has consumed one byte. */
};

/*
 * TODO: It appears the whole EXTRABYTE machinery is in place to support
 * outdated Win 95 systems.  If this can be confirmed, much code can be
 * deleted.
 */