- if (!inh)
- {
- inh = GetStdHandle(STD_INPUT_HANDLE);
- usePipe = !GetConsoleMode(inh, &dw);
- if (!usePipe)
- {
- SetConsoleMode(inh, dw & ~(ENABLE_MOUSE_INPUT | ENABLE_WINDOW_INPUT));
- FlushConsoleInputBuffer(inh);
- }
- }
+# if defined(_SC_NPROCESSORS_ONLN)
+ return sysconf(_SC_NPROCESSORS_ONLN);
+# elif defined(__hpux)
+ struct pst_dynamic psd;
+ if (pstat_getdynamic(&psd, sizeof(psd), (size_t)1, 0) == -1)
+ return 1;
+ return psd.psd_proc_cnt;
+# else
+ return 1;
+# endif