Date: Wed, 18 Jun 2003 06:46:24 -0700 (PDT) From: Sergey Kosyakov <ks4usa@yahoo.com> To: Daniel Eischen <eischen@vigrid.com> Cc: freebsd-threads@freebsd.org Subject: Re: The first kse_create call Message-ID: <20030618134624.85995.qmail@web12401.mail.yahoo.com> In-Reply-To: <Pine.GSO.4.10.10306180902380.25586-100000@pcnet5.pcnet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--- Daniel Eischen <eischen@vigrid.com> wrote: > > You have to have both a thread mailbox pointer set in the > KSE mailbox and you have to expire the quantum. The quantum > is system plus user time. It is not real time (e.g., a nanosleep() > does not expire quantum while it sleeps). I'm trying to do this: mbx.km_version=KSE_VER_0; mbx.km_func=uc_1; mbx.km_stack.ss_sp=stack_1; mbx.km_stack.ss_size=SIGSTKSZ; mbx.km_stack.ss_flags=SS_ONSTACK; ret=getcontext(&(thr_mbx.tm_context)); printf("getcontext %d\n",ret); thr_mbx.tm_context.uc_link=NULL; thr_mbx.tm_context.uc_stack.ss_sp=thr_stack_1; thr_mbx.tm_context.uc_stack.ss_size=SIGSTKSZ; thr_mbx.tm_context.uc_stack.ss_flags=SS_ONSTACK; makecontext(&(thr_mbx.tm_context),func,0); thr_mbx.tm_uticks=10; thr_mbx.tm_sticks=0; mbx.km_curthread=&thr_mbx; ret=kse_create(&mbx,0); do { ++i; }while(1); And never got upcall. (But if I put printf in the loop I got the upcall). Thanks, Sergey. __________________________________ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030618134624.85995.qmail>