MCPcopy Create free account
hub / github.com/AcademySoftwareFoundation/OpenShadingLanguage / process_errors

Method process_errors

src/liboslexec/context.cpp:230–263  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

228
229
230void
231ShadingContext::process_errors () const
232{
233 size_t nerrors = m_buffered_errors.size();
234 if (! nerrors)
235 return;
236
237 // Use a mutex to make sure output from different threads stays
238 // together, at least for one shader invocation, rather than being
239 // interleaved with other threads.
240 lock_guard lock (buffered_errors_mutex);
241
242 for (size_t i = 0; i < nerrors; ++i) {
243 switch (m_buffered_errors[i].first) {
244 case ErrorHandler::EH_MESSAGE :
245 case ErrorHandler::EH_DEBUG :
246 shadingsys().message (m_buffered_errors[i].second);
247 break;
248 case ErrorHandler::EH_INFO :
249 shadingsys().info (m_buffered_errors[i].second);
250 break;
251 case ErrorHandler::EH_WARNING :
252 shadingsys().warning (m_buffered_errors[i].second);
253 break;
254 case ErrorHandler::EH_ERROR :
255 case ErrorHandler::EH_SEVERE :
256 shadingsys().error (m_buffered_errors[i].second);
257 break;
258 default:
259 break;
260 }
261 }
262 m_buffered_errors.clear();
263}
264
265
266

Callers 1

shadingsys.cppFile · 0.80

Calls 6

messageMethod · 0.80
infoMethod · 0.80
sizeMethod · 0.45
warningMethod · 0.45
errorMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected