comparison src/ntproc.c @ 404:2f8bb876ab1d r21-2-32

Import from CVS: tag r21-2-32
author cvs
date Mon, 13 Aug 2007 11:16:07 +0200
parents a86b2b5e0111
children b8cc9ab3f761
comparison
equal deleted inserted replaced
403:9f011ab08d48 404:2f8bb876ab1d
53 #include "syssignal.h" 53 #include "syssignal.h"
54 #include "sysfile.h" 54 #include "sysfile.h"
55 #include "syswait.h" 55 #include "syswait.h"
56 #include "buffer.h" 56 #include "buffer.h"
57 #include "process.h" 57 #include "process.h"
58
59 #include "console-msw.h"
60
58 /*#include "w32term.h"*/ /* From 19.34.6: sync in ? --marcpa */ 61 /*#include "w32term.h"*/ /* From 19.34.6: sync in ? --marcpa */
59 62
60 /* #### I'm not going to play with shit. */ 63 /* #### I'm not going to play with shit. */
61 #pragma warning (disable:4013 4024 4090) 64 #pragma warning (disable:4013 4024 4090)
62 65
117 int child_proc_count = 0; 120 int child_proc_count = 0;
118 child_process child_procs[ MAX_CHILDREN ]; 121 child_process child_procs[ MAX_CHILDREN ];
119 child_process *dead_child = NULL; 122 child_process *dead_child = NULL;
120 123
121 DWORD WINAPI reader_thread (void *arg); 124 DWORD WINAPI reader_thread (void *arg);
122
123 /* Determine if running on Windows 9x and not NT */
124 static int
125 windows9x_p (void)
126 {
127 return GetVersion () & 0x80000000;
128 }
129 125
130 /* Find an unused process slot. */ 126 /* Find an unused process slot. */
131 child_process * 127 child_process *
132 new_child (void) 128 new_child (void)
133 { 129 {
749 { 745 {
750 do_quoting = 1; 746 do_quoting = 1;
751 /* Override escape char by binding win32-quote-process-args to 747 /* Override escape char by binding win32-quote-process-args to
752 desired character, or use t for auto-selection. */ 748 desired character, or use t for auto-selection. */
753 if (INTP (Vwin32_quote_process_args)) 749 if (INTP (Vwin32_quote_process_args))
754 escape_char = XINT (Vwin32_quote_process_args); 750 escape_char = (char) XINT (Vwin32_quote_process_args);
755 else 751 else
756 escape_char = is_cygnus_app ? '"' : '\\'; 752 escape_char = is_cygnus_app ? '"' : '\\';
757 } 753 }
758 754
759 /* do argv... */ 755 /* do argv... */
945 { 941 {
946 char window_class[32]; 942 char window_class[32];
947 943
948 GetClassName (hwnd, window_class, sizeof (window_class)); 944 GetClassName (hwnd, window_class, sizeof (window_class));
949 if (strcmp (window_class, 945 if (strcmp (window_class,
950 windows9x_p() 946 msw_windows9x_p()
951 ? "tty" 947 ? "tty"
952 : "ConsoleWindowClass") == 0) 948 : "ConsoleWindowClass") == 0)
953 { 949 {
954 cp->hwnd = hwnd; 950 cp->hwnd = hwnd;
955 return FALSE; 951 return FALSE;
1038 else 1034 else
1039 { 1035 {
1040 if (NILP (Vwin32_start_process_share_console) && cp && cp->hwnd) 1036 if (NILP (Vwin32_start_process_share_console) && cp && cp->hwnd)
1041 { 1037 {
1042 #if 1 1038 #if 1
1043 if (windows9x_p()) 1039 if (msw_windows9x_p())
1044 { 1040 {
1045 /* 1041 /*
1046 Another possibility is to try terminating the VDM out-right by 1042 Another possibility is to try terminating the VDM out-right by
1047 calling the Shell VxD (id 0x17) V86 interface, function #4 1043 calling the Shell VxD (id 0x17) V86 interface, function #4
1048 "SHELL_Destroy_VM", ie. 1044 "SHELL_Destroy_VM", ie.
1440 return make_int (GetThreadLocale ()); 1436 return make_int (GetThreadLocale ());
1441 } 1437 }
1442 1438
1443 1439
1444 void 1440 void
1445 syms_of_ntproc () 1441 syms_of_ntproc (void)
1446 { 1442 {
1447 DEFSUBR (Fwin32_short_file_name); 1443 DEFSUBR (Fwin32_short_file_name);
1448 DEFSUBR (Fwin32_long_file_name); 1444 DEFSUBR (Fwin32_long_file_name);
1449 DEFSUBR (Fwin32_set_process_priority); 1445 DEFSUBR (Fwin32_set_process_priority);
1450 DEFSUBR (Fwin32_get_locale_info); 1446 DEFSUBR (Fwin32_get_locale_info);