From 5fbd329cbcb0078fc787467703a2581935405b7e Mon Sep 17 00:00:00 2001 From: Douglas Gilbert Date: Mon, 16 Aug 2021 21:08:44 +0000 Subject: sg_dd: don't use srand48_r() and mrand48_r() as they are GNU extensions. Use the non-reentrant versions instead git-svn-id: https://svn.bingwo.ca/repos/sg3_utils/trunk@909 6180dd3e-e324-4e3e-922d-17de1ae2f315 --- testing/sg_mrq_dd.cpp | 11 +++++------ testing/sgh_dd.cpp | 7 +++---- 2 files changed, 8 insertions(+), 10 deletions(-) (limited to 'testing') diff --git a/testing/sg_mrq_dd.cpp b/testing/sg_mrq_dd.cpp index 65dc27fe..42613256 100644 --- a/testing/sg_mrq_dd.cpp +++ b/testing/sg_mrq_dd.cpp @@ -30,7 +30,7 @@ * */ -static const char * version_str = "1.34 20210801"; +static const char * version_str = "1.35 20210816"; #define _XOPEN_SOURCE 600 #ifndef _GNU_SOURCE @@ -348,7 +348,6 @@ typedef struct request_element int out_local_partial; int in_resid_bytes; long seed; - struct drand48_data drand; /* opaque, used by srand48_r and mrand48_r */ } Rq_elem; /* Additional parameters for sg_start_io() and sg_finish_io() */ @@ -1506,8 +1505,8 @@ sig_listen_thread(struct global_collection * clp) raise(SIGINT); break; } - if (SIGUSR2 == sig_number) - break; + if (SIGUSR2 == sig_number) + break; if (shutting_down) break; } /* end of while loop */ @@ -1657,7 +1656,7 @@ read_write_thread(struct global_collection * clp, int thr_idx, int slice_idx, #endif if (vb > 1) pr2serr_lk("[%d] %s: seed=%ld\n", thr_idx, __func__, rep->seed); - srand48_r(rep->seed, &rep->drand); + srand48(rep->seed); } if (in_is_sg && inf.size()) { @@ -1897,7 +1896,7 @@ normal_in_rd(Rq_elem * rep, int64_t lba, int blocks, int d_boff) for (k = 0; k < blocks; ++k, bp += clp->bs) { for (j = 0; j < clp->bs; j += jbump) { /* mrand48 takes uniformly from [-2^31, 2^31) */ - mrand48_r(&rep->drand, &rn); + rn = mrand48(); *((uint32_t *)(bp + j)) = (uint32_t)rn; } } diff --git a/testing/sgh_dd.cpp b/testing/sgh_dd.cpp index c421eb93..483dfce2 100644 --- a/testing/sgh_dd.cpp +++ b/testing/sgh_dd.cpp @@ -36,7 +36,7 @@ * renamed [20181221] */ -static const char * version_str = "2.14 20210801"; +static const char * version_str = "2.15 20210816"; #define _XOPEN_SOURCE 600 #ifndef _GNU_SOURCE @@ -317,7 +317,6 @@ typedef struct request_element uint32_t in_mrq_q_blks; uint32_t out_mrq_q_blks; long seed; - struct drand48_data drand; /* opaque, used by srand48_r and mrand48_r */ pthread_t mrq_abort_thread_id; Mrq_abort_info mai; } Rq_elem; @@ -1537,7 +1536,7 @@ read_write_thread(void * v_tip) #endif if (vb > 1) pr2serr_lk("thread=%d: seed=%ld\n", rep->id, rep->seed); - srand48_r(rep->seed, &rep->drand); + srand48(rep->seed); } if (clp->in_flags.same_fds || clp->out_flags.same_fds) ; @@ -1858,7 +1857,7 @@ normal_in_rd(Rq_elem * rep, int blocks) for (k = 0, bp = rep->buffp; k < blocks; ++k, bp += clp->bs) { for (j = 0; j < clp->bs; j += jbump) { /* mrand48 takes uniformly from [-2^31, 2^31) */ - mrand48_r(&rep->drand, &rn); + rn = mrand48(); *((uint32_t *)(bp + j)) = (uint32_t)rn; } } -- cgit v1.2.3