summaryrefslogtreecommitdiffstats
path: root/libpthread/nptl/pthread_cancel.c
diff options
context:
space:
mode:
authorCarmelo Amoroso <carmelo.amoroso@st.com>2007-11-19 15:35:12 +0000
committerCarmelo Amoroso <carmelo.amoroso@st.com>2007-11-19 15:35:12 +0000
commit414d8e5f2a73aff8e9404684571a65f85b27bf89 (patch)
tree879ac217d477f76cf965b244d98b383b663ff47b /libpthread/nptl/pthread_cancel.c
parent381fb7688d356f03e35b9254796adb29c941532b (diff)
downloaduClibc-alpine-414d8e5f2a73aff8e9404684571a65f85b27bf89.tar.bz2
uClibc-alpine-414d8e5f2a73aff8e9404684571a65f85b27bf89.tar.xz
Synch nptl branch with SH port: as requested by sjhill for mips-ash4 merge
Diffstat (limited to 'libpthread/nptl/pthread_cancel.c')
-rw-r--r--libpthread/nptl/pthread_cancel.c10
1 files changed, 0 insertions, 10 deletions
diff --git a/libpthread/nptl/pthread_cancel.c b/libpthread/nptl/pthread_cancel.c
index 41543fd78..a13af56b3 100644
--- a/libpthread/nptl/pthread_cancel.c
+++ b/libpthread/nptl/pthread_cancel.c
@@ -31,13 +31,11 @@ pthread_cancel (th)
{
volatile struct pthread *pd = (volatile struct pthread *) th;
-//printf("%s:%d\n", __FUNCTION__, __LINE__);
/* Make sure the descriptor is valid. */
if (INVALID_TD_P (pd))
/* Not a valid thread handle. */
return ESRCH;
-//printf("%s:%d\n", __FUNCTION__, __LINE__);
#ifdef SHARED
pthread_cancel_init ();
#endif
@@ -49,20 +47,17 @@ pthread_cancel (th)
oldval = pd->cancelhandling;
newval = oldval | CANCELING_BITMASK | CANCELED_BITMASK;
-//printf("%s:%d\n", __FUNCTION__, __LINE__);
/* Avoid doing unnecessary work. The atomic operation can
potentially be expensive if the bug has to be locked and
remote cache lines have to be invalidated. */
if (oldval == newval)
break;
-//printf("%s:%d newval = %x\n", __FUNCTION__, __LINE__, newval);
/* If the cancellation is handled asynchronously just send a
signal. We avoid this if possible since it's more
expensive. */
if (CANCEL_ENABLED_AND_CANCELED_AND_ASYNCHRONOUS (newval))
{
-//printf("%s:%d\n", __FUNCTION__, __LINE__);
/* Mark the cancellation as "in progress". */
atomic_bit_set (&pd->cancelhandling, CANCELING_BIT);
@@ -81,23 +76,19 @@ pthread_cancel (th)
val = INTERNAL_SYSCALL (tgkill, err, 3,
THREAD_GETMEM (THREAD_SELF, pid), pd->tid,
SIGCANCEL);
-//printf("%s:%d\n", __FUNCTION__, __LINE__);
#else
# ifdef __NR_tgkill
val = INTERNAL_SYSCALL (tgkill, err, 3,
THREAD_GETMEM (THREAD_SELF, pid), pd->tid,
SIGCANCEL);
-//printf("%s:%d\n", __FUNCTION__, __LINE__);
if (INTERNAL_SYSCALL_ERROR_P (val, err)
&& INTERNAL_SYSCALL_ERRNO (val, err) == ENOSYS)
# endif
val = INTERNAL_SYSCALL (tkill, err, 2, pd->tid, SIGCANCEL);
-//printf("%s:%d\n", __FUNCTION__, __LINE__);
#endif
if (INTERNAL_SYSCALL_ERROR_P (val, err))
result = INTERNAL_SYSCALL_ERRNO (val, err);
-//printf("%s:%d\n", __FUNCTION__, __LINE__);
break;
}
@@ -106,7 +97,6 @@ pthread_cancel (th)
atomically since other bits could be modified as well. */
while (atomic_compare_and_exchange_bool_acq (&pd->cancelhandling, newval,
oldval));
-//printf("%s:%d\n", __FUNCTION__, __LINE__);
return result;
}