ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/bsdf.c
(Generate patch)

Comparing ray/src/common/bsdf.c (file contents):
Revision 2.50 by greg, Sun Feb 8 22:14:50 2015 UTC vs.
Revision 2.52 by greg, Sun Aug 23 00:56:00 2015 UTC

# Line 422 | Line 422 | SDcacheFile(const char *fname)
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;
# Line 429 | Line 430 | SDcacheFile(const char *fname)
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  
# Line 595 | Line 597 | SDsizeBSDF(double *projSA, const FVECT v1, const RREAL
597                  rdf = sd->rb;
598                  tdf = (sd->tb != NULL) ? sd->tb : sd->tf;
599          }
600 <        if (v2 != NULL)                 /* bidirectional? */
600 >        if (v2 != NULL) {               /* bidirectional? */
601                  if (v1[2] > 0 ^ v2[2] > 0)
602                          rdf = NULL;
603                  else
604                          tdf = NULL;
605 +        }
606          ec = SDEdata;                   /* run through components */
607          for (i = (rdf==NULL) ? 0 : rdf->ncomp; i--; ) {
608                  ec = (*rdf->comp[i].func->queryProjSA)(projSA, v1, v2,

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines