| 422 |
|
if (fname == NULL || !*fname) |
| 423 |
|
return NULL; |
| 424 |
|
SDerrorDetail[0] = '\0'; |
| 425 |
+ |
/* PLACE MUTEX LOCK HERE FOR THREAD-SAFE */ |
| 426 |
|
if ((sd = SDgetCache(fname)) == NULL) { |
| 427 |
|
SDreportError(SDEmemory, stderr); |
| 428 |
|
return NULL; |
| 430 |
|
if (!SDisLoaded(sd) && (ec = SDloadFile(sd, fname))) { |
| 431 |
|
SDreportError(ec, stderr); |
| 432 |
|
SDfreeCache(sd); |
| 433 |
< |
return NULL; |
| 433 |
> |
sd = NULL; |
| 434 |
|
} |
| 435 |
+ |
/* END MUTEX LOCK */ |
| 436 |
|
return sd; |
| 437 |
|
} |
| 438 |
|
|
| 496 |
|
sv->cieY = cd->cTotal; |
| 497 |
|
if (sv->cieY <= 1e-6) { /* nothing to sample? */ |
| 498 |
|
sv->spec = c_dfcolor; |
| 499 |
< |
memset(ioVec, 0, 3*sizeof(double)); |
| 499 |
> |
memset(ioVec, 0, sizeof(FVECT)); |
| 500 |
|
return SDEnone; |
| 501 |
|
} |
| 502 |
|
/* compute sample direction */ |
| 770 |
|
} |
| 771 |
|
if (sv->cieY <= 1e-6) { /* anything to sample? */ |
| 772 |
|
sv->cieY = .0; |
| 773 |
< |
memset(ioVec, 0, 3*sizeof(double)); |
| 773 |
> |
memset(ioVec, 0, sizeof(FVECT)); |
| 774 |
|
return SDEnone; |
| 775 |
|
} |
| 776 |
|
/* scale random variable */ |