ExecuteSQL() somewhat async?
    Ruslan Zasukhin 
    sunshine at public.kherson.ua
       
    Thu Jan 30 12:17:28 CST 2003
    
    
  
on 1/30/03 6:26 AM, Eric Forget at forgete at cafederic.com wrote:
> Hi,
> 
> After looking for a crash, I found that calling VDK_Cursor::ExecuteSQL()
> finish by calling OBL_JoinSet_Builder::DoInnerJoinFirstForLink(OBL_Link*,
> OBL_Object*, OBL_Object*, FBL_BitSet*, FBL_BitSet*) which calls
> EventAvail(). Is there any reason for this?
> 
> The problem is that gives the control back to Cocoa who calls me back and
> now I'm questioning the same VDK_Cursor of the ExecuteSQL() which cause my
> crash.
> 
> I know how to go around it but it is cumbersome. Should all my code be
> reentrant when I use the VSDK? I means which methods of the VSDK calls
> EventAvail(), WaitNextEvent(), etc. directly or indirectly?
Hi Eric,
In file FBL_ThreadNative.h
I have function as:
//-------------------------------------------------------
inline void FBL_ModalYield( void )
{
#if !__MACH__
    // Give time to other applications
    EventRecord macEvent;
    ::EventAvail( everyEvent, &macEvent );
#endif
    // Yield to any other thread of this appliation
    FBL_Yield();
}
//-------------------------------------------------------
As you see I have wrap call ::EventAvail() by macro
    __MACH__
So am I right that for GCC this macro not works ?
I think for now I can simply add
#if !__MACH__ && !__CNUC__
Agree?
-- 
Best regards,
Ruslan Zasukhin      [ I feel the need...the need for speed ]
-------------------------------------------------------------
e-mail: ruslan at paradigmasoft.com
web: http://www.paradigmasoft.com
To subscribe to the Valentina mail list go to:
http://listserv.macserve.net/mailman/listinfo/valentina
-------------------------------------------------------------
    
    
More information about the Valentina
mailing list