From owner-freebsd-hackers Thu Mar 23 23:47:31 2000 Delivered-To: freebsd-hackers@freebsd.org Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by hub.freebsd.org (Postfix) with ESMTP id 11B7437C689 for ; Thu, 23 Mar 2000 23:47:28 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.3/8.9.1) id XAA09124; Thu, 23 Mar 2000 23:47:27 -0800 (PST) (envelope-from dillon) Date: Thu, 23 Mar 2000 23:47:27 -0800 (PST) From: Matthew Dillon Message-Id: <200003240747.XAA09124@apollo.backplane.com> To: Matthew Dillon Cc: Chad David , freebsd-hackers@FreeBSD.ORG Subject: Re: vm_await() References: <200003240744.XAA09084@apollo.backplane.com> Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG ::to return. Unless I am wrong, "string", is an automatic variable, and ::when the current function returns it is no longer vaild. :: ::With tsleep() this would never be a problem as tsleep() blocks. :: ::Chad : : No. "string" is a 'const char *' -- it is global read-only data. : It is most certainly not an automatic function variable. : : -Matt I will clarify: void blah(void) { fubar("abcdefgh"); } .file "x.c" .version "01.01" gcc2_compiled.: .section .rodata <------- read only global data .LC0: .ascii "abcdefgh\0" <------- string physically here .text .p2align 2,0x90 .globl blah .type blah,@function blah: pushl %ebp movl %esp,%ebp subl $8,%esp addl $-12,%esp pushl $.LC0 call fubar addl $16,%esp .L2: leave ret .Lfe1: .size blah,.Lfe1-blah .ident "GCC: (GNU) 2.95.2 19991024 (release)" To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message