Commit 346b1001 authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

PR: 1903

Submitted by: "Paul Smedley" <pauldespam@despamsmedley.id.au>
Approved by: steve@openssl.org

OS/2 fixes (excludes Makefile.shared patch for now).
parent b61a84c8
Loading
Loading
Loading
Loading
+1 −1
Changes for Configure: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -573,7 +573,7 @@ my %table=(

my @MK1MF_Builds=qw(VC-WIN64I VC-WIN64A
		    VC-NT VC-CE VC-WIN32
		    BC-32 OS2-EMX
		    BC-32 
		    netware-clib netware-clib-bsdsock
		    netware-libc netware-libc-bsdsock);

+6 −0
Changes for crypto/rand/rand_os2.c: 6 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -78,8 +78,10 @@ typedef struct _CPUUTIL {
    ULONG ulIntrHigh;           /* High 32 bits of interrupt time */
} CPUUTIL;

#ifndef __KLIBC__
APIRET APIENTRY(*DosPerfSysCall) (ULONG ulCommand, ULONG ulParm1, ULONG ulParm2, ULONG ulParm3) = NULL;
APIRET APIENTRY(*DosQuerySysState) (ULONG func, ULONG arg1, ULONG pid, ULONG _res_, PVOID buf, ULONG bufsz) = NULL;
#endif
HMODULE hDoscalls = 0;

int RAND_poll(void)
@@ -91,6 +93,7 @@ int RAND_poll(void)
    if (hDoscalls == 0) {
        ULONG rc = DosLoadModule(failed_module, sizeof(failed_module), "DOSCALLS", &hDoscalls);

#ifndef __KLIBC__
        if (rc == 0) {
            rc = DosQueryProcAddr(hDoscalls, 976, NULL, (PFN *)&DosPerfSysCall);

@@ -102,6 +105,7 @@ int RAND_poll(void)
            if (rc)
                DosQuerySysState = NULL;
        }
#endif
    }

    /* Sample the hi-res timer, runs at around 1.1 MHz */
@@ -122,7 +126,9 @@ int RAND_poll(void)
            RAND_add(&util, sizeof(util), 10);
        }
        else {
#ifndef __KLIBC__
            DosPerfSysCall = NULL;
#endif
        }
    }