Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
os0proc.c
Package: mysql-3.23.35.tar.gz [view]
Upload User: tsgydb
Upload Date: 2007-04-14
Package Size: 10674k
Code Size: 3k
Category:
MySQL
Development Platform:
Visual C++
- /******************************************************
- The interface to the operating system
- process control primitives
- (c) 1995 Innobase Oy
- Created 9/30/1995 Heikki Tuuri
- *******************************************************/
- #include "os0proc.h"
- #ifdef UNIV_NONINL
- #include "os0proc.ic"
- #endif
- #ifdef __WIN__
- #include <windows.h>
- #endif
- #include "ut0mem.h"
- /********************************************************************
- Allocates non-cacheable memory. */
- void*
- os_mem_alloc_nocache(
- /*=================*/
- /* out: allocated memory */
- ulint n) /* in: number of bytes */
- {
- #ifdef __WIN__
- void* ptr;
- ptr = VirtualAlloc(NULL, n, MEM_COMMIT,
- PAGE_READWRITE | PAGE_NOCACHE);
- ut_a(ptr);
- return(ptr);
- #else
- return(ut_malloc(n));
- #endif
- }
- #ifdef notdefined
- /********************************************************************
- Creates a new process. */
- ibool
- os_process_create(
- /*==============*/
- char* name, /* in: name of the executable to start
- or its full path name */
- char* cmd, /* in: command line for the starting
- process, or NULL if no command line
- specified */
- os_process_t* proc, /* out: handle to the process */
- os_process_id_t* id) /* out: process id */
- {
- BOOL ret;
- PROCESS_INFORMATION pinfo;
- STARTUPINFO sinfo;
- /* The following assignments are default for the startupinfo
- structure */
- sinfo.cb = sizeof(STARTUPINFO);
- sinfo.lpReserved = NULL;
- sinfo.lpDesktop = NULL;
- sinfo.cbReserved2 = 0;
- sinfo.lpReserved = NULL;
- ret = CreateProcess(name,
- cmd,
- NULL, /* No security attributes */
- NULL, /* No thread security attrs */
- FALSE, /* Do not inherit handles */
- 0, /* No creation flags */
- NULL, /* No environment */
- NULL, /* Same current directory */
- &sinfo,
- &pinfo);
- *proc = pinfo.hProcess;
- *id = pinfo.dwProcessId;
- return(ret);
- }
- /**************************************************************************
- Exits a process. */
- void
- os_process_exit(
- /*============*/
- ulint code) /* in: exit code */
- {
- ExitProcess((UINT)code);
- }
- /**************************************************************************
- Gets a process exit code. */
- ibool
- os_process_get_exit_code(
- /*=====================*/
- /* out: TRUE if succeed, FALSE if fail */
- os_process_t proc, /* in: handle to the process */
- ulint* code) /* out: exit code */
- {
- DWORD ex_code;
- BOOL ret;
- ret = GetExitCodeProcess(proc, &ex_code);
- *code = (ulint)ex_code;
- return(ret);
- }
- #endif /* notdedfined */
- /********************************************************************
- Sets the priority boost for threads released from waiting within the current
- process. */
- void
- os_process_set_priority_boost(
- /*==========================*/
- ibool do_boost) /* in: TRUE if priority boost should be done,
- FALSE if not */
- {
- #ifdef __WIN__
- ibool no_boost;
- if (do_boost) {
- no_boost = FALSE;
- } else {
- no_boost = TRUE;
- }
- ut_a(TRUE == 1);
- /* Does not do anything currently!
- SetProcessPriorityBoost(GetCurrentProcess(), no_boost);
- */
- printf(
- "Warning: process priority boost setting currently not functional!n"
- );
- #else
- UT_NOT_USED(do_boost);
- #endif
- }