static int collectLibsCallback ( struct dl_phdr_info *info, size_t size, void *data ) { Foam::DynamicList<Foam::fileName>* ptr = reinterpret_cast<Foam::DynamicList<Foam::fileName>*>(data); ptr->append(info->dlpi_name); return 0; }
bool Foam::OPstream::write ( const commsTypes commsType, const int toProcNo, const char* buf, const std::streamsize bufSize ) { bool transferFailed = true; if (commsType == blocking) { transferFailed = MPI_Bsend ( const_cast<char*>(buf), bufSize, MPI_PACKED, procID(toProcNo), msgType(), MPI_COMM_WORLD ); } else if (commsType == scheduled) { transferFailed = MPI_Send ( const_cast<char*>(buf), bufSize, MPI_PACKED, procID(toProcNo), msgType(), MPI_COMM_WORLD ); } else if (commsType == nonBlocking) { MPI_Request request; transferFailed = MPI_Isend ( const_cast<char*>(buf), bufSize, MPI_PACKED, procID(toProcNo), msgType(), MPI_COMM_WORLD, &request ); OPstream_outstandingRequests_.append(request); } else { FatalErrorIn ( "OPstream::write" "(const int fromProcNo, char* buf, std::streamsize bufSize)" ) << "Unsupported communications type " << commsType << Foam::abort(FatalError); } return !transferFailed; }