From owner-freebsd-hackers Fri Feb 9 12:35:31 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id MAA08300 for hackers-outgoing; Fri, 9 Feb 1996 12:35:31 -0800 (PST) Received: from alpha.xerox.com (alpha.Xerox.COM [13.1.64.93]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id MAA08272 for ; Fri, 9 Feb 1996 12:35:22 -0800 (PST) Received: from gemini.sdsp.mc.xerox.com ([13.231.132.20]) by alpha.xerox.com with SMTP id <15303(7)>; Fri, 9 Feb 1996 12:33:56 PST Received: from gnu.mc.xerox.com (gnu.sdsp.mc.xerox.com) by gemini.sdsp.mc.xerox.com (4.1/SMI-4.1) id AA27552; Fri, 9 Feb 96 15:33:47 EST Received: by gnu.mc.xerox.com (4.1/SMI-4.1) id AA14852; Fri, 9 Feb 96 15:33:45 EST Message-Id: <9602092033.AA14852@gnu.mc.xerox.com> X-Mailer: exmh version 1.6.4 10/10/95 To: Paul Hatchman Cc: linux-kernel@vger.rutgers.edu, hackers@freebsd.org Subject: Re: signal masks and select In-Reply-To: Your message of "Tue, 30 Jan 1996 23:49:00 PST." <199601310749.AA28625@rex.sfe.com.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 9 Feb 1996 12:33:45 PST From: "Marty Leisner" Sender: owner-hackers@freebsd.org Precedence: bulk Thanks for the help... I liked this solution for now... > > This can be "solved" by using setjmp/longjmp with select. > ie > if (setjmp (env, 1) == 0) > { > set_sigmask(unblock desired signals) > select(...) > } > > and your signal handler does a longjmp (env) > But this is a kludgey workaround...and using pthreads (where each thread has a signal mask) means env becomes thread private data... It seems very reasonable to have a system call: select_with_newmask(new_mask,