33dllInfo <- NULL
44
55.onLoad <- function (libname , pkgname ) {
6-
7- # load tbb and make it's symbols available globally
6+
7+ # load tbb if we aren't on windows
88 sysname <- Sys.info()[' sysname' ]
9- if (sysname == " Darwin " )
10- ext = " .dylib "
11- else if ( sysname == " Linux " )
12- ext = " .so.2 "
13- else if ( sysname == " Windows " )
14- ext = " .dll "
15- else
16- ext = .Platform $ dynlib.ext
17- dll <- system.file(paste( " lib/libtbb " , ext , sep = " " ), package = " RcppParallel " )
18- dllInfo <<- dyn.load( dll , local = FALSE , now = TRUE )
9+ if (sysname != " Windows " ) {
10+ if ( sysname == " Darwin " )
11+ ext = " .dylib "
12+ else if ( sysname == " Linux " )
13+ ext = " .so.2 "
14+ else
15+ ext = .Platform $ dynlib.ext
16+ dll <- system.file(paste( " lib/libtbb " , ext , sep = " " ), package = " RcppParallel " )
17+ dllInfo <<- dyn.load( dll , local = FALSE , now = TRUE )
18+ }
1919
2020 # load the package library
2121 library.dynam(" RcppParallel" , pkgname , libname )
@@ -29,8 +29,9 @@ dllInfo <- NULL
2929 # unload the package library
3030 library.dynam.unload(" RcppParallel" , libpath )
3131
32- # unload tbb
33- dyn.unload(dllInfo [[" path" ]])
32+ # unload tbb if we loaded it (i.e. aren't on windows)
33+ if (! is.null(dllInfo ))
34+ dyn.unload(dllInfo [[" path" ]])
3435}
3536
3637setThreadOptions <- function (numThreads = " auto" , stackSize = " auto" ) {
0 commit comments