I now have a program which successfully runs multiple threads. When I add a call to a function in an external library it fails if there is more than one thread. The error says "too many I/O drivers". Without knowing the specifics of the library (CFITSIO for manipulating fits files), does anybody have any insight into this error. Thanks.