mirror of
https://github.com/MariaDB/server.git
synced 2026-05-14 19:07:15 +02:00
Import changeset
This commit is contained in:
parent
87d70fb598
commit
ec6ae09161
1442 changed files with 324740 additions and 0 deletions
59
bdb/os_win32/os_spin.c
Normal file
59
bdb/os_win32/os_spin.c
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
/*-
|
||||
* See the file LICENSE for redistribution information.
|
||||
*
|
||||
* Copyright (c) 1997, 1998, 1999, 2000
|
||||
* Sleepycat Software. All rights reserved.
|
||||
*/
|
||||
|
||||
#include "db_config.h"
|
||||
|
||||
#ifndef lint
|
||||
static const char revid[] = "$Id: os_spin.c,v 11.6 2000/05/17 19:30:19 bostic Exp $";
|
||||
#endif /* not lint */
|
||||
|
||||
#include "db_int.h"
|
||||
#include "os_jump.h"
|
||||
|
||||
/*
|
||||
* __os_spin --
|
||||
* Return the number of default spins before blocking.
|
||||
*/
|
||||
int
|
||||
__os_spin()
|
||||
{
|
||||
SYSTEM_INFO SystemInfo;
|
||||
|
||||
/*
|
||||
* If the application specified a value or we've already figured it
|
||||
* out, return it.
|
||||
*/
|
||||
if (DB_GLOBAL(db_tas_spins) != 0)
|
||||
return (DB_GLOBAL(db_tas_spins));
|
||||
|
||||
/* Get the number of processors */
|
||||
GetSystemInfo(&SystemInfo);
|
||||
|
||||
/*
|
||||
* Spin 50 times per processor -- we have anecdotal evidence that this
|
||||
* is a reasonable value.
|
||||
*/
|
||||
if (SystemInfo.dwNumberOfProcessors > 1)
|
||||
DB_GLOBAL(db_tas_spins) = 50 * SystemInfo.dwNumberOfProcessors;
|
||||
else
|
||||
DB_GLOBAL(db_tas_spins) = 1;
|
||||
return (DB_GLOBAL(db_tas_spins));
|
||||
}
|
||||
|
||||
/*
|
||||
* __os_yield --
|
||||
* Yield the processor.
|
||||
*/
|
||||
void
|
||||
__os_yield(dbenv, usecs)
|
||||
DB_ENV *dbenv;
|
||||
u_long usecs;
|
||||
{
|
||||
if (__db_jump.j_yield != NULL && __db_jump.j_yield() == 0)
|
||||
return;
|
||||
__os_sleep(dbenv, 0, usecs);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue