00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #include "db_config.h"
00011
00012 #include "db_int.h"
00013
00014
00015
00016
00017
00018 u_int32_t
00019 __os_spin(dbenv)
00020 DB_ENV *dbenv;
00021 {
00022 SYSTEM_INFO SystemInfo;
00023 u_int32_t tas_spins;
00024
00025
00026 GetSystemInfo(&SystemInfo);
00027
00028
00029
00030
00031
00032 if (SystemInfo.dwNumberOfProcessors > 1)
00033 tas_spins = 50 * SystemInfo.dwNumberOfProcessors;
00034 else
00035 tas_spins = 1;
00036
00037 return (tas_spins);
00038 }
00039
00040
00041
00042
00043
00044 void
00045 __os_yield(dbenv, usecs)
00046 DB_ENV *dbenv;
00047 u_long usecs;
00048 {
00049 if (DB_GLOBAL(j_yield) != NULL && DB_GLOBAL(j_yield)() == 0)
00050 return;
00051 __os_sleep(dbenv, 0, usecs);
00052 }