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