Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 2 Dec 1998 14:13:42 -0500 (EST)
From:      Daniel Eischen <eischen@vigrid.com>
To:        eischen@vigrid.com, lists@tar.com
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: pthread_cancel() function...
Message-ID:  <199812021913.OAA18143@pcnet1.pcnet.com>

next in thread | raw e-mail | index | archive | help
> I'm not sure I follow.  If I understand, the specs say that the
> "read" function should be a cancellation point (as an example).
> If you make the read function a cancellation point (even if you
> just test for cancellation once, perhaps by calling 
> pthread_testcancel) how do you prevent the other libc or libc_r
> functions that call read from becoming cancellation points 
> too?
>
> The problem, as I see it, is that within libc and libc_r, a
> function that calls read will get the wrapped syscall, not
> the syscall itself, as it is currently implemented.  Take 
> "localtime" as an example.  The implementation of localtime
> indirectly calls read.  This will make localtime a cancellation
> point too, even though localtime is not a cancellation point
> defined in the specs.  

Change libc to use SYSCALL_xxx (in this case SYSCALL_READ),
where SYSCALL_xxx is defined in libc as xxx and in libc_r
as thread_sys_xxx?

Dan Eischen
eischen@vigrid.com

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199812021913.OAA18143>