From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31846 invoked by alias); 1 Apr 2003 20:17:54 -0000 Mailing-List: contact libc-hacker-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-hacker-owner@sources.redhat.com Received: (qmail 31829 invoked from network); 1 Apr 2003 20:17:53 -0000 Received: from unknown (HELO localhost.localdomain) (195.113.19.66) by sources.redhat.com with SMTP; 1 Apr 2003 20:17:53 -0000 Received: from sunsite.mff.cuni.cz (localhost.localdomain [127.0.0.1]) by localhost.localdomain (8.12.8/8.12.8) with ESMTP id h31KHjqO019826; Tue, 1 Apr 2003 22:17:45 +0200 Received: (from jakub@localhost) by sunsite.mff.cuni.cz (8.12.8/8.12.8/Submit) id h31KHjW7019824; Tue, 1 Apr 2003 22:17:45 +0200 Date: Tue, 01 Apr 2003 20:17:00 -0000 From: Jakub Jelinek To: Roland McGrath Cc: Glibc hackers Subject: Re: [PATCH] Avoid cancellation point in pthread_mutex_lock etc. in linuxthreads Message-ID: <20030401201745.GM16629@sunsite.ms.mff.cuni.cz> Reply-To: Jakub Jelinek References: <20030401151926.GI16629@sunsite.ms.mff.cuni.cz> <200304011950.h31JoPZ23056@magilla.sf.frob.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200304011950.h31JoPZ23056@magilla.sf.frob.com> User-Agent: Mutt/1.4i X-SW-Source: 2003-04/txt/msg00009.txt.bz2 On Tue, Apr 01, 2003 at 11:50:25AM -0800, Roland McGrath wrote: > Why __pthread_sigsuspend instead of just using INTERNAL_SYSCALL directly? > kernel-features.h can define something about rt_sigsuspend vs sigsuspend > for each machine. It differs between arches. On most arches it is INTERNAL_SYSCALL (rt_sigsuspend, err, 2, set, _NSIG / 8); on some for compatibility INTERNAL_SYSCALL (sigsuspend, err, 3, 0, 0, set->__val[0]); (with possible runtime choice) but on Alpha it is INTERNAL_SYSCALL (sigsuspend, err, 1, set->__val[0]); (well, looks like the same on sparc32 for pre-rtsig kernels, apparently nobody is running < 2.2.x kernels on sparc any more). I think best would be a special header in linuxthreads/sysdeps/unix/sysv/linux/* and inline the call to avoid the call/return overhead. Jakub