From owner-freebsd-chat Tue May 28 15:07:37 1996 Return-Path: owner-chat Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id PAA05346 for chat-outgoing; Tue, 28 May 1996 15:07:37 -0700 (PDT) Received: from who.cdrom.com (who.cdrom.com [204.216.27.3]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id PAA05312 for ; Tue, 28 May 1996 15:07:34 -0700 (PDT) Received: from expo.x.org (expo.x.org [198.112.45.11]) by who.cdrom.com (8.6.12/8.6.11) with ESMTP id OAA08780 for ; Tue, 28 May 1996 14:36:31 -0700 Received: from exalt.x.org by expo.x.org id AA27204; Tue, 28 May 96 17:35:58 -0400 Received: from localhost by exalt.x.org id RAA19989; Tue, 28 May 1996 17:35:53 -0400 Message-Id: <199605282135.RAA19989@exalt.x.org> To: Terry Lambert Cc: joerg_wunsch@uriah.heep.sax.de, chat@freebsd.org Subject: Re: Forgiving select() call. In-Reply-To: Your message of Tue, 28 May 1996 12:52:51 EST. <199605281952.MAA11661@phaeton.artisoft.com> Organization: X Consortium Date: Tue, 28 May 1996 17:35:53 EST From: "Kaleb S. KEITHLEY" Sender: owner-chat@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > > > > If there's a secret undocumented select system call in Solaris, I'd > > > > like to know about it, with something more than anecdotal evidence! > > > > > > 1) Build a static SunOS 4.1.3 binary that calls select(2). > > > > > > Been there, done that. See my previous reply. Trussing on Solaris 2.4 > > shows it calling poll. > > For a STATIC build? Yes, a STATIC build. > I have a hard time believing this, since SunOS 4.x doesn't *have* a > poll for static 4.x libc stubs linked into the program to call. I dunno what you're looking at. SunOS 4.1.3 has poll in libc.a and a trivial program, statically linked on SunOS works fine on both SunOS and Solaris, and trussing it on Solaris shows it calling poll. Ditto for a program calling select. > > > 2) Run it on Solaris 2.2 (watch it ENOSYS). > > > 3) Run it on Solaris 2.3 (watch it work). > > > > What does trussing it on 2.3 show it doing? > > Probably calling whatever call the execution class defines for 93 on > the box. It's entirely possible that it doesn't use the Solaris > sysent[] vector when trapping from a 4.1.3 executable. FreeBSD > certainly doesn't trap to the same sysent[] vector for Linux or > IBCS2 or BSDI binaries. C'mon. I don't want to know what it's probably doing. What does trussing it on 2.3 show it doing? I've got static SunOS binaries that use select() and syscall(SYS_select, ...) and truss shows them calling poll. > > poll. See my previous reply on this topic. > > > > >Personally, except for threading, I develop for Solaris using SunOS. > > > > You obviously have your reasons for doing that. For my money I develop > > for Solaris on Solaris. > > Yes. One of the resons is it makes select() work on Solaris. Yeah, I believe that code that calls select() works. You haven't explained how though. And I think I have more than enough evidence to satisfy myself what it's doing. -- Kaleb KEITHLEY