setMaxMailboxSize
    Byron Heads 
    wyverex.cypher at gmail.com
       
    Thu Jun 17 14:31:10 PDT 2010
    
    
  
is setMaxMailboxSize not implemented yet or is it bugged?
This test program does not work right:
import  core.sys.posix.unistd;
import  std.stdio,
        std.concurrency,
        std.random;
void main()
{
        auto a = spawn( &bar, thisTid );
        setMaxMailboxSize( a, 1, OnCrowding.block );
        writeln( "Mail box set" );
        auto b = spawn( &foo, thisTid, a );
}
void foo( Tid p, Tid t )
{
        t.send( 1 );
        t.send( 2 );
        t.send( 3 );
        writeln( "FOO is done!" );
}
void bar( Tid p )
{
        receive( (int x ) { writeln( "BAR got ", x );} );
        sleep( 1 );
        receive( (int x ) { writeln( "BAR got ", x );} );
        sleep( 1 );
        receive( (int x ) { writeln( "BAR got ", x );} );
        sleep( 1 );
}
It prints:
Mail box set
BAR got 1
FOO is done!
BAR got 2
BAR got 3
foo should be getting blocked.
-B
    
    
More information about the Digitalmars-d-learn
mailing list