brewisv
05-30-2007, 12:01 AM
How does Qualcomm achieve the magic trick of resuming after IThread_Suspend? Is it possible to achieve the blocking behavior without IThread?
Thanks...
Code below copied from http://www.devx.com/wireless/Article/32077?trk=DXRSS_WIFI
static void Thread1Main( SThreadCtx *pMe )
{
AECHAR wsz[ 16 ];
while( 1 )
{
pMe->n++;
WSPRINTF( wsz, sizeof( wsz ), L"t1=%d", pMe->n );
IDISPLAY_DrawText( pMe->pid, AEE_FONT_NORMAL, wsz, -1, 0, 0, NULL,
IDF_ALIGN_CENTER | IDF_ALIGN_TOP);
IDISPLAY_Update (pMe->pid);
ISHELL_Resume( pMe->pis, ITHREAD_GetResumeCBK( pMe->pit ) );
ITHREAD_Suspend( pMe->pit );
}
}
Thanks...
Code below copied from http://www.devx.com/wireless/Article/32077?trk=DXRSS_WIFI
static void Thread1Main( SThreadCtx *pMe )
{
AECHAR wsz[ 16 ];
while( 1 )
{
pMe->n++;
WSPRINTF( wsz, sizeof( wsz ), L"t1=%d", pMe->n );
IDISPLAY_DrawText( pMe->pid, AEE_FONT_NORMAL, wsz, -1, 0, 0, NULL,
IDF_ALIGN_CENTER | IDF_ALIGN_TOP);
IDISPLAY_Update (pMe->pid);
ISHELL_Resume( pMe->pis, ITHREAD_GetResumeCBK( pMe->pit ) );
ITHREAD_Suspend( pMe->pit );
}
}