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