276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
|
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
|
-
+
|
*/
static void
NativeGetTime(
Tcl_Time *timePtr,
ClientData clientData)
{
struct timeb t;
struct _timeb t;
int useFtime = 1; /* Flag == TRUE if we need to fall back on
* ftime rather than using the perf counter. */
/*
* Initialize static storage on the first trip through.
*
* Note: Outer check for 'initialized' is a performance win since it
|
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
|
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
|
-
+
|
}
if (useFtime) {
/*
* High resolution timer is not available. Just use ftime.
*/
ftime(&t);
_ftime(&t);
timePtr->sec = (long)t.time;
timePtr->usec = t.millitm * 1000;
}
}
/*
*----------------------------------------------------------------------
|