bigloo.pthread.bglpthread.run C# (CSharp) Method

run() public method

public run ( ) : void
return void
        public void run()
        {
            Thread.SetData( Thread.GetNamedDataSlot( "bgldynamic" ),
             new bgldynamic( bgldynamic.abgldynamic.get() ) );
             Thread.SetData( Thread.GetNamedDataSlot( "bglthread" ), thread );
             Thread.SetData( Thread.GetNamedDataSlot( "bglcthread" ), this );

             try {
            thunk.funcall0();
             } catch( Exception e ) {
            foreign.internalerror( e );
             } finally {
            bglpmutex.mutexes_unlock( thread );

            if( cleanup is procedure ) {
               ((procedure)cleanup).funcall1( thread );
            }
             }
        }