Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!zaphod.mps.ohio-state.edu!rpi!uupsi!cmcl2!adm!news From: IN% Postmaster@VAX1.Mankato.MSUS.EDU %MKVAX1.DECNET@msus1.bitnet (PMDF Mail Server) Newsgroups: comp.unix.wizards Subject: Undeliverable mail: SMTP delivery failure Message-ID: <26017@adm.brl.mil> Date: 14 Feb 91 20:06:02 GMT Sender: news@adm.brl.mil Lines: 450 Return-path: Date: Thu, 14 Feb 1991 13:46 CST From: PMDF Mail Server Subject: Undeliverable mail: SMTP delivery failure To: "MSUS1::IN%\"UNIX-WIZARDS@BRL.MIL\""@VAX1.Mankato.MSUS.EDU Message-id: <8AD0265CE0204963@VAX1.Mankato.MSUS.EDU> The message could not be delivered to: Addressee: BD6@MKATT1.MANKATO.MSUS.EDU Reason: Illegal host/domain name found. ---------------------------------------- Received: from DECNET-MAIL by VAX1.Mankato.MSUS.EDU with PMDF#10000; Thu, 14 Feb 1991 13:44 CST Date: Thu, 14 Feb 1991 13:44 CST From: "MSUS1::IN%\"UNIX-WIZARDS@BRL.MIL\""@VAX1.Mankato.MSUS.EDU Subject: UNIX-WIZARDS Digest V12#018 To: BD6@MKATT1.MANKATO.MSUS.EDU Message-id: <8A91244C0020523B@VAX1.Mankato.MSUS.EDU> X-VMS-To: "Brian D. Goecke" Return-path: Received: from NDSUVM1.BITNET (MAILER@NDSUVM1) by MSUS1.MSUS.EDU with PMDF#10130; Thu, 14 Feb 1991 05:36 CST Received: by NDSUVM1 (Mailer R2.07) id 4963; Thu, 14 Feb 91 05:34:09 CST Date: Thu, 14 Feb 91 05:45:01 EST From: Mike Muuss The Moderator Subject: UNIX-WIZARDS Digest V12#018 Sender: Unix-Wizards Mailing List To: "Brian D. Goecke" Reply-to: UNIX-WIZARDS@BRL.MIL Message-id: <4659BFF0A0001A42@MSUS1.MSUS.EDU> X-To: UNIX-WIZARDS@BRL.MIL UNIX-WIZARDS Digest Thu, 14 Feb 1991 V12#018 Today's Topics: Re: What is sigcleanup? Re: SIGCONT occurs after a SIGTERM Re: dynamic linking C code with ld link editor Re: Help! There's a slash '/' in my filename. cfreelist info gettytab, entries f0, f1 & f2 Loading and Executing Object Code at Runtime Re: dup2 Re: Stuck-up Wizards (Re: Summary and Fix for "slashes in filenames") Re: Slashes in file names ----------------------------------------------------------------- From: Root Boy Jim Subject: Re: What is sigcleanup? Date: 25 Jan 91 00:38:21 GMT To: unix-wizards@sem.brl.mil In article <1991Jan22.153802.9869@daimi.aau.dk> kaja@daimi.aau.dk (Kaja P. Christiansen) writes: >What is "sigcleanup" doing? I dunno for sure, but I'll hazard a guess. It could be a mutation of 4.3BSD's sigreturn call with new bells and whistles. RTFM sez "sigreturn allows users to atomicly unmask, switch stacks, and return from a signal context". Since signals are more complex than they used to be, s system call is required to exit from them as well as to enter them. When a signal handler returns, it executes what is known as the signal trampoline code, which actually calls sigreturn. Setjmp/longjmp have been extended to save and restore the signal mask as well. However, _setjmp/_longjmp exist for speedier execution when signals are involved. Now sing with me to the tune of a Beatles song: We all live in a signal trampoline, A signal trampoline, a signal trampoline! >Kaja P. Christiansen Computer Science Department >(kpchristiansen@daimi.aau.dk) Aarhus University >Phone: +45 86 12 71 88 Ny Munkegade 116, >Fax: +45 86 13 57 25 DK-8000 Aarhus C., Denmark -- Root Boy Jim Cottrell Close the gap of the dark year in between ----------------------------- From: Edward Conger Subject: Re: SIGCONT occurs after a SIGTERM Date: 12 Feb 91 22:23:14 GMT To: unix-wizards@sem.brl.mil / hpcupt1:comp.unix.wizards / coleman@cam.nist.gov (Sean Sheridan Coleman X5672) / 9:06 am Feb 11, 1991 / >Please explain to me why a SIGCONT is sent to a process after >SIGTERM is sent to my process. It doesn't compute because TERM >means to terminate the the process. The distinction is that sending a signal to a process (usually|often) is implemented by setting a bit in a flag word associated with the "victim process". The action of *send*ing the signal doesn't terminate the process, rather, it says, "when next you run in the kernel (either via a system call or a timeslice (usually ~ 1/100 sec)), you should go handle this signal." In the case of SIGTERM, the default behaviour is to TERMinate. Now suppose the victim process is stopped (either by job control, SIGSTOP, or via debugging), it will NOT see the bit set in the flag word until it runs again. The SIGCONT gets it unstopped and it runs long enough to terminate. Your mileage (and implementation) may vary, but this is the general gist of the problem. >Thanks >Sean Coleman >coleman@bldrdoc.gov >NIST >Boulder, CO >---------- Hope this helps, -Ed. =========================================================================== The above is an official statement of MeMyself & I Inc. It should not be interpreted to be an official statement of any other likely targets, including, but not limited to, Hewlett-Packard Co., ACME Rockets, ACME Rubber Bands, ACME Consolidated Mining Engineering, or the Home for Damaged Coyotes. ----------------------------- From: Steve Alter Subject: Re: dynamic linking C code with ld link editor Date: 13 Feb 91 03:09:27 GMT To: unix-wizards@sem.brl.mil In article <23713@netcom.COM> aed@netcom.COM (Andrew Davidson) writes: } I am trying to fiqure out how to use the ld link editor to dynamicly link } some C code. Are there any refference? All I have are the man pages } which are less than usefull for the beginer } } I am working on a sun workstation, but must also get this to run on a } sys V unix(SCO ODT UNIX sysV 3.2.0). This info is for SunOS (4.1, but I believe also applies to 4.0.) Load the "shlib.etc" package from your distrubution media (under 4.1 the command to do this is "/usr/etc/install/add_services") and then look in directory /usr/lib/shlib.etc at the README and Makefile files. That stuff only describes how to build a new version of the shared libc library, but it shows some of the basics that might be useful/needed in building your own library. Highlights: -- You have to build all of your object modules (for this library) with the "-pic" option to generate position-independent (a.k.a. relocatable) code. -- The Makefile uses the "-assert pure-text" option on the "ld" command to ensure (I believe) that everything in the library is read-only, i.e. no writable global data areas because read-only is a must for anything that is shared between anonymous users. If you want a global writable buffer then you've got to create a shared-memory segment. -- The Makefile also plays some games to ensure that the object modules go into the library in the correct order. The concepts of ranlib and the __.SYMDEF module don't apply to shared libraries because they're mapped directly into the address space of the process, whereas a normal library is just a collection of .o files with a symbol table up front and .o files still have to be linked with ld. Read the "ld" manual-page very carefully as it explains a lot of how the ld and ld.so programs, the LD_LIBRARY_PATH, and the version numbers on the /usr/lib/lib*.s[ao].* files work together. My ultimate suggestion: buy a set of the manuals; there's a whole chapter on shared libraries in there. -- Steve Alter {philabs,psivax,pyramid,quad1,rdlvax,retix,rutgers}!ttidca!alter Transaction Technology Inc. a subsidiary of Citicorp (213) 450-9111 x2541 ----------------------------- From: Greg Kemnitz Subject: Re: dynamic linking C code with ld link editor Date: 13 Feb 91 20:04:48 GMT Sender: USENET Administrator To: unix-wizards@sem.brl.mil I had this problem for several months until (after much hacking) I got my dynamic loaders to work with Postgres. It is a rather different idea than shared libraries - the idea is to load and execute a function (whose name is unknown beforehand) in an object file given by the user. It is quite tricky, since you have to know about the a.out format, and getting it to work requires using lots of undocumented or almost undocumented features and options (especially on DECstations). Also, Postgres had to be able to unload and reload a user function (since the user may have changed it) which is easy but not entirely straightforward. I have two versions - one for Sun 3's, Sparcs, and Sequents, and another version for DECstations running Ultrix >= 4.0. They all use "ld -A", but there's lots of stuff you need to know that you only discover after much inspection. Nobody has a man page that is at all descriptive on "ld -A"'s use. If there's interest, I'll post them to the net. ----------------------------------------------------------------------- Greg Kemnitz | "I ran out of the room - I Postgres Chief Programmer | didn't want to be killed by a pile 278 Cory Hall, UCB | of VMS manuals" :-) (415) 642-7520 | kemnitz@postgres.berkeley.edu | --A friend at DEC Palo Alto in the Quake ----------------------------- From: s082@brems.ii.uib.no Subject: Re: Help! There's a slash '/' in my filename. Date: 13 Feb 91 12:02:01 GMT Sender: Usenet posting account To: unix-wizards@sem.brl.mil There seems to be a rather lengthy discussion going on about slashes in filenames, how to get them there, and whether to ask questions about them... Just one thing: Why would anyone want a slash (or any such character) a filename in the first place? -km ----------------------------- From: John F Haugh II Subject: cfreelist info Date: 13 Feb 91 16:45:41 GMT X-Clever-Slogan: Recycle or Die. To: unix-wizards@sem.brl.mil in various system v's the cblock freelist is declared something like struct chead cfreelist; and (struct chead) is struct chead { struct cblock *c_next; int c_size; int c_flag; } what the hell is cfreelist.c_size =supposed= to contain? it sure doesn't contain the total number of characters available on the cblock freelist right now. my x.29 tty driver thanks you ... ps - no fair peeking at the source code. -- John F. Haugh II UUCP: ...!cs.utexas.edu!rpp386!jfh Ma Bell: (512) 832-8832 Domain: jfh@rpp386.cactus.org "I've never written a device driver, but I have written a device driver manual" -- Robert Hartman, IDE Corp. ----------------------------- From: Thomas Omerzu Subject: gettytab, entries f0, f1 & f2 Date: 13 Feb 91 20:13:17 GMT To: unix-wizards@sem.brl.mil A little but nasty problem: All bsd-based Unix-Implementations of getty (at least as far as known to me) support gettytab attributes f0, f1 and f2. According to TFM(gettytab) they take numeric values, where f0, f1 & f2 represent the tty mode flags "to write messages", "to read login name", and "to leave terminal in". "... Terminal modes to be used for the output of the message, for input of the login name, and to leave ther terminal set as upon completion, are derived from the Boolean flags specified. If the derivation should prove inadequate, any (or all) of these three may be overridden with one of the f0, f1, or f2 numeric specifications, which can be used to specify (usually in octal, with a leading 0) the exact values of the flags. Local (new tty) flags are set in the top 16 bits of this (32-bit) value. ..." [ From Dec Ultrix V4.0 Ref. Man. Vol 6 ] Now my question: how do the terminal mode flags (as know from termio or stty) correspond to the bits in f0 (or f1, f2)? Obviously it cannot be a 1:1 corresponency, since the struct termio contains 4 short values (c_iflag, c_oflag, c_cflag, c_lflag), or - in other words - 64 bits. Any ideas/experiences anyone? I was trying to use this on a DECstation 5000/200 running Ultrix 4.0, although other vendors seem not to supply much more information. Thanks in advance for your help, Thomas -- *--------------------------------------------------------------------------* Thomas Omerzu. Internet: omerzu@quantum.de Quantum GmbH Bitnet: omerzu%quando@UNIDO.bitnet Dortmund,Germany UUCP: ...!unido!quando!omerzu ----------------------------- From: Ian Flanigan Subject: Loading and Executing Object Code at Runtime Keywords: help, load, run, .o, LISP Date: 13 Feb 91 21:27:04 GMT Sender: USENET News System To: unix-wizards@sem.brl.mil Hi, I tried posting this to comp.unix.questions first, but as I got no answer I figured this must be a Wizard level question: I'm wondering how to load an object file (my_functions.o) at execution time and execute a function contained therein. I know this is possible since many flavors of LISP allow you to compile your functions and then load the compiled versions later. If it's in TFM, could someone point me in the right direction, or, if it's trivially simple, could someone please explain how to go about it? Thanks much. -- Ian Flanigan flan@cics.wustl.edu "You can never have too many napkins." wucs1.wustl.edu!cics!flan@uucp ----------------------------- From: Doug Gwyn Subject: Re: dup2 Date: 13 Feb 91 22:41:02 GMT To: unix-wizards@sem.brl.mil In article <122373@uunet.UU.NET> rbj@uunet.UU.NET (Root Boy Jim) writes: -In article <15136@smoke.brl.mil> gwyn@smoke.brl.mil (Doug Gwyn) writes: ->/* -> dup2 -- 7th Edition UNIX system call emulation for UNIX System V ->*/ -Do you mean that V7 had dup2 but System V doesn't? -And what about systems that don't have fcntl? Geez, what do you think the comment means, anyway? ----------------------------- From: David Elliott Subject: Re: Stuck-up Wizards (Re: Summary and Fix for "slashes in filenames") Date: 14 Feb 91 01:35:27 GMT To: unix-wizards@sem.brl.mil In article <=H_&Z9#@rpi.edu> rodney@sun.ipl.rpi.edu (Rodney Peck II) writes: >and finally, just because a question comes back again and again, doesn't >mean that all the wrong answers have to be dragged out again. that's what >the faq is for -- if someone wants to say "hey I read these answers in >the faq, and I didn't see this idea .... why won't this work?" -- that, >in my opinon, would be fine. I certainly agree with you, but let me make a suggestion. Instead of people complaining about people sending out wrong answers, or even answers at all, let's all try doing this: If someone posts a frequently-asked question, mail them a copy of the FAQ posting, and point out that the answer is there. If someone posts an answer, be it correct or incorrect, mail them a copy of the FAQ posting to remind them that the answer is already available to everyone in a consistent format. I did this myself for a while, made some friends in the first case, and got some pretty interesting excuses in the second. ----------------------------- From: Steve Summit Subject: Re: Slashes in file names Date: 14 Feb 91 07:05:12 GMT Sender: News system To: unix-wizards@sem.brl.mil I begin to understand why people have such passionately awful things to say about NFS. As far as I'm concerned, if the NFS server code can create an illegal file (where "illegal" is defined by the host on which the server is running), then that's a bug in the NFS server, period. If the protocol doesn't include an error return of "I can't create a file of that name" (not surprising; doesn't define that specific error either, although it probably should), then it should just say something halfway like "no such file or directory." If the client can help out by trying not to ask for illegal files in the first place, that's fine; but in the final analysis the server has got to protect itself. Having the client not ask for illegal files is never going to work perfectly, anyway: even if a negotiation is defined by which the client can learn which characters are illegal, some operating system somewhere is going to have rules that can't be encoded that simply. Has anyone ever considered modifying namei so that it essentially checks to see if the current path character matches a target filename character *before* checking to see if the current path character is a '/'? That would make the filesystem robust against inadvertent /'s in filenames, because unlink("a/b/c") would in fact unlink a file called "b/c" in directory "a", if one somehow existed. (To be sure, there would be idiosyncrasies associated with such an algorithm. In the above example, if directory "a" also contained a subdirectory "b" as well as a file "b/c" the behavior would depend on which came first, or something. Still, it might be a nice escape hatch. Note that by only attempting to match existing files in this way, it would still never create a filename with a slash.) Steve Summit scs@adam.mit.edu ----------------------------- End of UNIX-WIZARDS Digest **************************