diff options
Diffstat (limited to 'src/lib/libcrypto/rand/rand_win.c')
-rw-r--r-- | src/lib/libcrypto/rand/rand_win.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/lib/libcrypto/rand/rand_win.c b/src/lib/libcrypto/rand/rand_win.c index 9f2dcff9a9..3d137badd0 100644 --- a/src/lib/libcrypto/rand/rand_win.c +++ b/src/lib/libcrypto/rand/rand_win.c | |||
@@ -570,14 +570,15 @@ static void readtimer(void) | |||
570 | DWORD w; | 570 | DWORD w; |
571 | LARGE_INTEGER l; | 571 | LARGE_INTEGER l; |
572 | static int have_perfc = 1; | 572 | static int have_perfc = 1; |
573 | #ifndef __GNUC__ | 573 | #ifdef _MSC_VER |
574 | static int have_tsc = 1; | 574 | static int have_tsc = 1; |
575 | DWORD cyclecount; | 575 | DWORD cyclecount; |
576 | 576 | ||
577 | if (have_tsc) { | 577 | if (have_tsc) { |
578 | __try { | 578 | __try { |
579 | __asm { | 579 | __asm { |
580 | rdtsc | 580 | _emit 0x0f |
581 | _emit 0x31 | ||
581 | mov cyclecount, eax | 582 | mov cyclecount, eax |
582 | } | 583 | } |
583 | RAND_add(&cyclecount, sizeof(cyclecount), 1); | 584 | RAND_add(&cyclecount, sizeof(cyclecount), 1); |
@@ -725,8 +726,9 @@ int RAND_poll(void) | |||
725 | 726 | ||
726 | #ifdef DEVRANDOM | 727 | #ifdef DEVRANDOM |
727 | return 1; | 728 | return 1; |
728 | #endif | 729 | #else |
729 | return 0; | 730 | return 0; |
731 | #endif | ||
730 | } | 732 | } |
731 | 733 | ||
732 | #endif | 734 | #endif |