这篇教程C++ unguard函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中unguard函数的典型用法代码示例。如果您正苦于以下问题:C++ unguard函数的具体用法?C++ unguard怎么用?C++ unguard使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了unguard函数的25个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: guardvoid ipAddrToAsciiEnginePrivate::run (){ epicsGuard < epicsMutex > guard ( this->mutex ); while ( ! this->exitFlag ) { { epicsGuardRelease < epicsMutex > unguard ( guard ); this->laborEvent.wait (); } while ( true ) { ipAddrToAsciiTransactionPrivate * pItem = this->labor.get (); if ( ! pItem ) { break; } osiSockAddr addr = pItem->addr; this->pCurrent = pItem; if ( this->exitFlag ) { sockAddrToDottedIP ( & addr.sa, this->nameTmp, sizeof ( this->nameTmp ) ); } else { epicsGuardRelease < epicsMutex > unguard ( guard ); // depending on DNS configuration, this could take a very long time // so we release the lock sockAddrToA ( &addr.sa, this->nameTmp, sizeof ( this->nameTmp ) ); } // the ipAddrToAsciiTransactionPrivate destructor is allowed to // set pCurrent to nill and avoid blocking on a slow DNS // operation if ( ! this->pCurrent ) { continue; } this->callbackInProgress = true; { epicsGuardRelease < epicsMutex > unguard ( guard ); // dont call callback with lock applied this->pCurrent->pCB->transactionComplete ( this->nameTmp ); } this->callbackInProgress = false; if ( this->pCurrent ) { this->pCurrent->pending = false; this->pCurrent = 0; } if ( this->cancelPendingCount ) { this->destructorBlockEvent.signal (); } } }}
开发者ID:ukaea,项目名称:epics,代码行数:55,
示例2: LGLTracer_glProgramParameterivoid LGLAPI LGLTracer_glProgramParameteri( GLuint program, GLenum pname, GLint value ){ guard(); APIHook.glProgramParameteri( program, pname, value ); CheckRendererError( "" ); unguard();}
开发者ID:berezhkovskaya,项目名称:Carousel3D,代码行数:7,
示例3: guardvoid clASELoader::ASE_ReadTVertexList( iIStream* FStream, clVAMender* Mender ){ guard();#ifdef ASE_HEAVY_DEBUG Env->Logger->Log( L_DEBUG, "Reading Tvertex list..." );#endif char Keyword[32]; while ( !FStream->Eof() ) { LString Line = FStream->ReadLineTrimLeadSpaces(); if ( LStr::ContainsSubStr( Line, "}" ) ) { break; } else if ( LStr::StartsWith( Line, ASE_MeshTVertex ) ) { int Index; float U, V, W; sscanf( Line.c_str(), "%s %d %f %f %f", Keyword, &Index, &U, &V, &W ); Mender->EmitTextureVertex( Index, LVector3( U, 1.0f - V, W ) ); } else { FATAL_MSG( "Unexpected token in " + ASE_MeshTVertexList + " : " + Line ); } } unguard();}
开发者ID:berezhkovskaya,项目名称:Carousel3D,代码行数:35,
示例4: unguardvoid getCallback::exception ( epicsGuard < epicsMutex > & guard, int status, const char * /* pContext */, unsigned type, arrayElementCount count ){ if ( status != ECA_CHANDESTROY ) { struct event_handler_args args; args.usr = this->pPrivate; args.chid = & this->chan; args.type = type; args.count = count; args.status = status; args.dbr = 0; caEventCallBackFunc * pFuncTmp = this->pFunc; // fetch client context and destroy prior to releasing // the lock and calling cb in case they destroy channel there this->chan.getClientCtx().destroyGetCallback ( guard, *this ); { epicsGuardRelease < epicsMutex > unguard ( guard ); ( *pFuncTmp ) ( args ); } } else { this->chan.getClientCtx().destroyGetCallback ( guard, *this ); }}
开发者ID:A2-Collaboration,项目名称:epics,代码行数:26,
示例5: LGLTracer_glBindVertexArrayvoid LGLAPI LGLTracer_glBindVertexArray( GLuint array ){ guard(); APIHook.glBindVertexArray( array ); CheckRendererError( "" ); unguard();}
开发者ID:berezhkovskaya,项目名称:Carousel3D,代码行数:7,
示例6: LGLTracer_glVertexAttribPointervoid LGLAPI LGLTracer_glVertexAttribPointer( GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* pointer ){ guard(); APIHook.glVertexAttribPointer( index, size, type, normalized, stride, pointer ); CheckRendererError( "" ); unguard();}
开发者ID:berezhkovskaya,项目名称:Carousel3D,代码行数:7,
示例7: LGLTracer_glTexParameterivoid LGLAPI LGLTracer_glTexParameteri( GLenum target, GLenum pname, GLint param ){ guard( "0x%X, 0x%X, %i", target, pname, param ); APIHook.glTexParameteri( target, pname, param ); CheckRendererError( "" ); unguard();}
开发者ID:berezhkovskaya,项目名称:Carousel3D,代码行数:7,
示例8: LGLTracer_glTexParameterfvoid LGLAPI LGLTracer_glTexParameterf( GLenum target, GLenum pname, GLfloat param ){ guard(); APIHook.glTexParameterf( target, pname, param ); CheckRendererError( "" ); unguard();}
开发者ID:berezhkovskaya,项目名称:Carousel3D,代码行数:7,
示例9: LGLTracer_glTexImage3Dvoid LGLAPI LGLTracer_glTexImage3D( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels ){ guard(); APIHook.glTexImage3D( target, level, internalformat, width, height, depth, border, format, type, pixels ); CheckRendererError( "" ); unguard();}
开发者ID:berezhkovskaya,项目名称:Carousel3D,代码行数:7,
示例10: LGLTracer_glTexSubImage2Dvoid LGLAPI LGLTracer_glTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels ){ guard(); APIHook.glTexSubImage2D( target, level, xoffset, yoffset, width, height, format, type, pixels ); CheckRendererError( "" ); unguard();}
开发者ID:berezhkovskaya,项目名称:Carousel3D,代码行数:7,
示例11: LGLTracer_glShaderSourcevoid LGLAPI LGLTracer_glShaderSource( GLuint shader, GLsizei count, const GLchar* *string, const GLint* length ){ guard(); APIHook.glShaderSource( shader, count, string, length ); CheckRendererError( "" ); unguard();}
开发者ID:berezhkovskaya,项目名称:Carousel3D,代码行数:7,
示例12: LGLTracer_glReadPixelsvoid LGLAPI LGLTracer_glReadPixels( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels ){ guard(); APIHook.glReadPixels( x, y, width, height, format, type, pixels ); CheckRendererError( "" ); unguard();}
开发者ID:berezhkovskaya,项目名称:Carousel3D,代码行数:7,
示例13: LGLTracer_glReadBuffervoid LGLAPI LGLTracer_glReadBuffer( GLenum mode ){ guard(); APIHook.glReadBuffer( mode ); CheckRendererError( "" ); unguard();}
开发者ID:berezhkovskaya,项目名称:Carousel3D,代码行数:7,
示例14: LGLTracer_glValidateProgramvoid LGLAPI LGLTracer_glValidateProgram( GLuint program ){ guard(); APIHook.glValidateProgram( program ); CheckRendererError( "" ); unguard();}
开发者ID:berezhkovskaya,项目名称:Carousel3D,代码行数:7,
示例15: LGLTracer_glBindTexturevoid LGLAPI LGLTracer_glBindTexture( GLenum target, GLuint texture ){ guard( "0x%X, %u", target, texture ); APIHook.glBindTexture( target, texture ); CheckRendererError( "" ); unguard();}
开发者ID:berezhkovskaya,项目名称:Carousel3D,代码行数:7,
示例16: LGLTracer_glUniform1fvoid LGLAPI LGLTracer_glUniform1f( GLint location, GLfloat v0 ){ guard( "%i, %f", location, v0 ); APIHook.glUniform1f( location, v0 ); CheckRendererError( "" ); unguard();}
开发者ID:berezhkovskaya,项目名称:Carousel3D,代码行数:7,
示例17: LGLTracer_glViewportvoid LGLAPI LGLTracer_glViewport( GLint x, GLint y, GLsizei width, GLsizei height ){ guard(); APIHook.glViewport( x, y, width, height ); CheckRendererError( "" ); unguard();}
开发者ID:berezhkovskaya,项目名称:Carousel3D,代码行数:7,
示例18: LGLTracer_glBindFramebuffervoid LGLAPI LGLTracer_glBindFramebuffer( GLenum target, GLuint framebuffer ){ guard(); APIHook.glBindFramebuffer( target, framebuffer ); CheckRendererError( "" ); unguard();}
开发者ID:berezhkovskaya,项目名称:Carousel3D,代码行数:7,
示例19: guardipAddrToAsciiTransactionPrivate::~ipAddrToAsciiTransactionPrivate (){ epicsGuard < epicsMutex > guard ( this->engine.mutex ); while ( this->pending ) { if ( this->engine.pCurrent == this && this->engine.callbackInProgress && ! this->engine.thread.isCurrentThread() ) { assert ( this->engine.cancelPendingCount < UINT_MAX ); this->engine.cancelPendingCount++; { epicsGuardRelease < epicsMutex > unguard ( guard ); this->engine.destructorBlockEvent.wait (); } assert ( this->engine.cancelPendingCount > 0u ); this->engine.cancelPendingCount--; if ( ! this->pending ) { if ( this->engine.cancelPendingCount ) { this->engine.destructorBlockEvent.signal (); } break; } } else { if ( this->engine.pCurrent == this ) { this->engine.pCurrent = 0; } else { this->engine.labor.remove ( *this ); } this->pending = false; } }}
开发者ID:A2-Collaboration,项目名称:epics,代码行数:33,
示例20: LGLTracer_glUniform1ivoid LGLAPI LGLTracer_glUniform1i( GLint location, GLint v0 ){ guard(); APIHook.glUniform1i( location, v0 ); CheckRendererError( "" ); unguard();}
开发者ID:berezhkovskaya,项目名称:Carousel3D,代码行数:7,
示例21: LGLTracer_glUniform1ivvoid LGLAPI LGLTracer_glUniform1iv( GLint location, GLsizei count, const GLint* v0 ){ guard(); APIHook.glUniform1iv( location, count, v0 ); CheckRendererError( "" ); unguard();}
开发者ID:berezhkovskaya,项目名称:Carousel3D,代码行数:7,
示例22: LGLTracer_glUniform4fvvoid LGLAPI LGLTracer_glUniform4fv( GLint location, GLsizei count, const GLfloat* value ){ guard(); APIHook.glUniform4fv( location, count, value ); CheckRendererError( "" ); unguard();}
开发者ID:berezhkovskaya,项目名称:Carousel3D,代码行数:7,
示例23: LGLTracer_glUniformBlockBindingvoid LGLAPI LGLTracer_glUniformBlockBinding( GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding ){ guard(); APIHook.glUniformBlockBinding( program, uniformBlockIndex, uniformBlockBinding ); CheckRendererError( "" ); unguard();}
开发者ID:berezhkovskaya,项目名称:Carousel3D,代码行数:7,
示例24: LGLTracer_glUniformMatrix4fvvoid LGLAPI LGLTracer_glUniformMatrix4fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value ){ guard(); APIHook.glUniformMatrix4fv( location, count, transpose, value ); CheckRendererError( "" ); unguard();}
开发者ID:berezhkovskaya,项目名称:Carousel3D,代码行数:7,
示例25: LGLTracer_glBindFragDataLocationvoid LGLAPI LGLTracer_glBindFragDataLocation( GLuint program, GLuint color, const GLchar* name ){ guard(); APIHook.glBindFragDataLocation( program, color, name ); CheckRendererError( "" ); unguard();}
开发者ID:berezhkovskaya,项目名称:Carousel3D,代码行数:7,
注:本文中的unguard函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ unhandled_signal函数代码示例 C++ ungetch函数代码示例 |