[LCP] linuxCprogramming Digest, Vol 2, Issue 1
Sayang Oin
sayangoin at hotmail.com
Thu Nov 15 08:56:54 UTC 2007
thank you for all your answerts.
I try Paul sugesstion and use the waitpid funtions...
unfortunately it just success the first time after that waitpid alsways says Illegal seek ?????
what do I wrong?
thank you
// -----------
// code...
#include <signal.h>#include <stdio.h>#include <sys/types.h>#include <sys/wait.h>#include <sched.h>#include <unistd.h>#include <syscall.h> // for syscall(SYS_getpid)#include <syslog.h>#include <errno.h>#include <fcntl.h>#include <sys/stat.h>
#include "logCtrl.h" // printLog function
int transProcessId=0;char transStack[0x40000];
pid_t mypid;pid_t transpid;
int transProcess(){ transpid = getpid();
int i; for(i=0;i<15;i++){ printLog(logTRANS,"transProc: %i",transpid); sleep(1); } printLog(logTRANS,"bye!"); return 0;}
void startTransProcess(){ mypid = getppid(); printLog(logTRANS,"parent process ID: %i",mypid); if(transProcessId>0) transProcessId=0; // transProcessId initialisieren
transProcessId=clone(transProcess, &transStack[sizeof(transStack)-10],CLONE_VM|CLONE_FILES|CLONE_FS , 0);
if(transProcessId>0){ printLog(logMODUL1,"transProc started (PID: %d)",transProcessId); } else { printLog(logMODUL1,"transProc not started (PID: %d)",transProcessId); }};
void modul1(){ if (!transProcessId) startTransProcess();
if(transProcessId>0){ if (waitpid (transProcessId, NULL, WNOHANG | __WCLONE) != 0) { perror("waitpid()"); printLog(logMODUL1,"transProc (PID: %d)",transProcessId); transProcessId=0; printLog(logMODUL1,"start new transProc"); } } }
int mainprog(){ printLog(logMAIN,"Program start");
while(1) { modul1(); usleep(20*1000); } return 0;
}
// *******************************************************************************************
// -------------------------------------------------------------------------// // -------------------------------------------------------------------------////// *******************************************************************************************////// *******************************************************************************************//int main (int argc,char *argv[]){ initLogCtrl();
mainprog(); return 0; }
> From: linuxcprogramming-request at lists.linux.org.au> To: linuxcprogramming at lists.linux.org.au> Date: Wed, 14 Nov 2007 20:20:11 +0000> Subject: linuxCprogramming Digest, Vol 2, Issue 1> > Send linuxCprogramming mailing list submissions to> linuxcprogramming at lists.linux.org.au> > To subscribe or unsubscribe via the World Wide Web, visit> http://lists.linux.org.au/listinfo/linuxcprogramming> or, via email, send a message with subject or body 'help' to> linuxcprogramming-request at lists.linux.org.au> > You can reach the person managing the list at> linuxcprogramming-owner at lists.linux.org.au> > When replying, please edit your Subject line so it is more specific> than "Re: Contents of linuxCprogramming digest..."> > > Today's Topics:> > 1. Re: Debugging a core dump (Zach)> 2. Re: Debugging a core dump (DR. N. B. Venkat Nagasuri)> 3. Re: Debugging a core dump (Zach)> 4. Re: Questions regarding message queue (Paul Gearon)> 5. Questions Regarding FIFO (Ludwig Isaac Lim)> 6. Re: Questions Regarding FIFO (Steve Baker)> 7. best ipc mechanism (vineeth saraschandran)> 8. Re: best ipc mechanism (Kim Hawtin)> 9. SPI driver development questions (Shi ZeQin)> 10. SPI driver development questions (haqin)> 11. zombie process... (Sayang Oin)> 12. Re: zombie process... (Paul Gearon)> > > ----------------------------------------------------------------------> > Message: 1> Date: Thu, 26 Jul 2007 06:06:40 -0400> From: Zach <netrek at gmail.com>> Subject: Re: [LCP] Debugging a core dump> To: "Linux C Programming" <linuxcprogramming at lists.linux.org.au>> Message-ID:> <ecfa260c0707260306w6e49202ch518b86449197c766 at mail.gmail.com>> Content-Type: text/plain; charset=ISO-8859-1; format=flowed> > I have had the same problem. Hope someone answers.> > Zach> > On 7/26/07, Ludwig Isaac Lim <ludz_lim at yahoo.com> wrote:> >> > Hi:> >> > I'm trying to debug a program which dumps a core file (> > I compiled the program with a "-g" flag). I tried setting> > the core size by using the following command:> >> > ulimit -c 1000> >> > I tried debugging it by :> > gdb <program name> <name of the core>> >> >> > gdb gives me the following error message :> > <core file> is not a core dump: file format not> > recognized.> >> > What is should be ideal size of a core dump for it be> > helpful in debugging a program?> >> > Many thanks!> >> > ludwig> >> >> >> > ____________________________________________________________________________________> > Get the free Yahoo! toolbar and rest assured with the added security of spyware protection.> > http://new.toolbar.yahoo.com/toolbar/features/norton/index.php> >> > _______________________________________________> > This is the Linux C Programming List> > : http://lists.linux.org.au/listinfo/linuxcprogramming List> >> > > > ------------------------------> > Message: 2> Date: Thu, 26 Jul 2007 03:41:46 -0700 (PDT)> From: "DR. N. B. Venkat Nagasuri" <venkat_ritch at yahoo.com>> Subject: Re: [LCP] Debugging a core dump> To: Linux C Programming <linuxcprogramming at lists.linux.org.au>> Message-ID: <626153.67864.qm at web51109.mail.re2.yahoo.com>> Content-Type: text/plain; charset="iso-8859-1"> > Try> ulimit -S -c 100000> ./yourprogram (which is compiled using -g option)> gdb -q yourprogram corefile> > Venkat> > Zach <netrek at gmail.com> wrote:> I have had the same problem. Hope someone answers.> > Zach> > On 7/26/07, Ludwig Isaac Lim wrote:> >> > Hi:> >> > I'm trying to debug a program which dumps a core file (> > I compiled the program with a "-g" flag). I tried setting> > the core size by using the following command:> >> > ulimit -c 1000> >> > I tried debugging it by :> > gdb > > >> >> > gdb gives me the following error message :> > is not a core dump: file format not> > recognized.> >> > What is should be ideal size of a core dump for it be> > helpful in debugging a program?> >> > Many thanks!> >> > ludwig> >> >> >> > ____________________________________________________________________________________> > Get the free Yahoo! toolbar and rest assured with the added security of spyware protection.> > http://new.toolbar.yahoo.com/toolbar/features/norton/index.php> >> > _______________________________________________> > This is the Linux C Programming List> > : http://lists.linux.org.au/listinfo/linuxcprogramming List> >> > _______________________________________________> This is the Linux C Programming List> : http://lists.linux.org.au/listinfo/linuxcprogramming List> > > > Prof NB Venkateswarlu> B.Tech(SVU), M.Tech(IIT-Kanpur), Ph.D(BITS,Pilani), PDF(U of Leeds,UK)> Visit My Home at: www.ritchcenter.com/nbv> > > ---------------------------------> Shape Yahoo! in your own image. Join our Network Research Panel today!> -------------- next part --------------> An HTML attachment was scrubbed...> URL: http://lists.linux.org.au/pipermail/linuxcprogramming/attachments/20070726/943d126f/attachment.htm > > ------------------------------> > Message: 3> Date: Thu, 26 Jul 2007 20:37:52 -0400> From: Zach <netrek at gmail.com>> Subject: Re: [LCP] Debugging a core dump> To: "Linux C Programming" <linuxcprogramming at lists.linux.org.au>> Message-ID:> <ecfa260c0707261737vf1128f6jde882aef027cc435 at mail.gmail.com>> Content-Type: text/plain; charset=ISO-8859-1; format=flowed> > Thank you Dr. Nagasuri.> > Zach> > On 7/26/07, DR. N. B. Venkat Nagasuri <venkat_ritch at yahoo.com> wrote:> > Try> > ulimit -S -c 100000> > ./yourprogram (which is compiled using -g option)> > gdb -q yourprogram corefile> >> > Venkat> >> > Zach <netrek at gmail.com> wrote:> > I have had the same problem. Hope someone answers.> >> > Zach> >> > On 7/26/07, Ludwig Isaac Lim wrote:> > >> > > Hi:> > >> > > I'm trying to debug a program which dumps a core file (> > > I compiled the program with a "-g" flag). I tried setting> > > the core size by using the following command:> > >> > > ulimit -c 1000> > >> > > I tried debugging it by :> > > gdb> > >> > >> > > gdb gives me the following error message :> > > is not a core dump: file format not> > > recognized.> > >> > > What is should be ideal size of a core dump for it be> > > helpful in debugging a program?> > >> > > Many thanks!> > >> > > ludwig> > >> > >> > >> > >> > ____________________________________________________________________________________> > > Get the free Yahoo! toolbar and rest assured with the added security of> > spyware protection.> > >> > http://new.toolbar.yahoo.com/toolbar/features/norton/index.php> > >> > > _______________________________________________> > > This is the Linux C Programming List> > > : http://lists.linux.org.au/listinfo/linuxcprogramming> > List> > >> >> > _______________________________________________> > This is the Linux C Programming List> > : http://lists.linux.org.au/listinfo/linuxcprogramming List> >> >> >> > Prof NB Venkateswarlu> > B.Tech(SVU), M.Tech(IIT-Kanpur), Ph.D(BITS,Pilani), PDF(U of Leeds,UK)> > Visit My Home at: www.ritchcenter.com/nbv> >> > ________________________________> > Shape Yahoo! in your own image. Join our Network Research Panel today!> >> >> > _______________________________________________> > This is the Linux C Programming List> > : http://lists.linux.org.au/listinfo/linuxcprogramming> > List> >> >> > > > ------------------------------> > Message: 4> Date: Fri, 3 Aug 2007 00:36:22 -0500> From: Paul Gearon <gearon at ieee.org>> Subject: Re: [LCP] Questions regarding message queue> To: Linux C Programming <linuxcprogramming at lists.linux.org.au>> Message-ID: <ACBD76F8-C4FB-479E-B95F-48B039666A95 at ieee.org>> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed> > Hi,> > Catching up on a backlog of email, I realized that I missed this one...> > On Jul 22, 2007, at 11:45 PM, Ludwig Isaac Lim wrote:> > Hi:> >> > I have 2 questions regarding message queue IPCs:> >> > 1) What is the standard way of generating a queue id? I> > usually do the following:> >> > key = ftok(<name of the executable file>,..);> > id = msgget(key,...);> >> > I can see problems arising when I move the executable> > to another directory.> > Actually, while this is theoretically bad, it will often work. The > reason is because the key is generated from the inode of the file. > If you do a simple mv (as opposed to a cp;rm) then the inode won't > change, and hence the value will be the same.> > > Does a better alternative exist? Is the code below much> > better> >> > touch(<name of a temporary file>);> >> > key = ftok(<name of the temporary file>):> >> > since "touch" was called prior to ftok, then mostly> > likely, calls to ftok will always be successfull.> > Well, there's no "touch" call (unless you use system(3)), but you can > easily use creat(2) or open(2). This approach works just fine.> > What you're doing here is essentially registering a service for > clients to connect to. You need some kind of "address" for this > service, otherwise clients won't know how to find you. In the world > of sockets, this is typically done by using a predefined port > number. This is subject to collision, but for well known services > the port number is reserved for that protocol only (eg. port 80 is > http).> > You should be safe with a name like:> /tmp/my.program.name.and.a.service.number.1234> > Anyone colliding with this name is just asking for > difficulties. :-) Besides, the algorithm *can* lead to collisions > anyway - though these are unlikely.> > > Supposing somebody deletes the temporary file AFTER the> > message queue has been created. Will it affect the message> > queue?> > Not the queue itself, but now that the file is gone, it will not be > possible for any clients to generate the same key again, even if they > re-create the file (since the inode may be different). Any clients > that are already connected to the shared memory won't notice a problem.> > > 2) Is message queue always a better alternative to FIFO?> > The only foreseable problem with message queues if the> > message size larger than msgmax. When is FIFO preferred> > over message queues? It seems that FIFO is much better is> > the message size is very large. Any other opinion?> > FIFOs are good for transferring data from one process to another, > particularly large amounts (though if it's big and needs to be > updated, then consider shared memory, and if it's REALLY big then use > mmap). Message queues are a little different:> - Messages have limited size.> - They can be received out of order (controlled with the message type)> - Multiple processes can write to the queue.> - Multiple processes can read from the queue (though this needs to be > synchronized)> > In other words, message queues are good for sending messages. :-)> > Regards,> Paul> > > > ------------------------------> > Message: 5> Date: Wed, 8 Aug 2007 05:52:01 -0700 (PDT)> From: Ludwig Isaac Lim <ludz_lim at yahoo.com>> Subject: [LCP] Questions Regarding FIFO> To: linuxcprogramming at lists.linux.org.au> Message-ID: <495247.68184.qm at web31907.mail.mud.yahoo.com>> Content-Type: text/plain; charset=iso-8859-1> > Hi:> > According to Linux man pages fifo(7), when processes> exchange data using a fifo, the kernel passes all data> internaly without writing to a file.> > Supposing I have a "producer" process which passes data> to "consumer" process using a fifo, and the consumer> process is slower than the producer. Where does the kernel> store the unprocessed messages? Assuming the kernel stored> it in the memory. Is there a limitation on the size of the> "backlog"? Is there something like message queue's MSGMAX> and MSGMNB parameters?> > Many thanks,> > ludwig lim> > > > ____________________________________________________________________________________> Building a website is a piece of cake. Yahoo! Small Business gives you all the tools to get online.> http://smallbusiness.yahoo.com/webhosting > > > > ------------------------------> > Message: 6> Date: Wed, 08 Aug 2007 09:25:31 -0400> From: Steve Baker <ice at mama.indstate.edu>> Subject: Re: [LCP] Questions Regarding FIFO> To: linuxcprogramming at lists.linux.org.au> Message-ID: <200708081325.l78DPVUa013032 at mama.indstate.edu>> Content-Type: text/plain; charset=us-ascii> > Ludwig Isaac Lim <ludz_lim at yahoo.com> wrote:> > According to Linux man pages fifo(7), when processes> > exchange data using a fifo, the kernel passes all data> > internaly without writing to a file.> >> > Supposing I have a "producer" process which passes data> > to "consumer" process using a fifo, and the consumer> > process is slower than the producer. Where does the kernel> > store the unprocessed messages? Assuming the kernel stored> > it in the memory. Is there a limitation on the size of the> > "backlog"? Is there something like message queue's MSGMAX> > and MSGMNB parameters?> > When the producer produces more than the consumer processes, then it will> simply block on writing to the fifo/pipe, or in otherwords, stop writing, when> the pipe has become full. That is unless O_NONBLOCK was set when the> fifo/pipe was opened, in which case it will write as much data as will fill> the pipe and then return with an EAGAIN error (in which case the producer will> need to re-write the data not written).> > Linux pipes are hardwired to be a single page in size (4096 bytes). However> according to the man page (man 7 pipe), since kernel 2.6.11, fifo/pipes are> hardwired to 64K in size. The fifo/pipe buffer size should be available in> the external define PIPE_BUF, but it seems to still be 4096 in all the kernel> sources > 2.6.11 that I have.> > Read the man pages on pipe and fifo in section 7 for more complete> information (ex: man 7 pipe fifo).> > - Steve> > > > ------------------------------> > Message: 7> Date: Fri, 31 Aug 2007 02:31:14 +0000> From: vineeth saraschandran <vineethsaraschandran at hotmail.com>> Subject: [LCP] best ipc mechanism> To: <linuxcprogramming at lists.linux.org.au>> Message-ID: <BLU111-W139BB99C8B5E58B01B0A38CDCE0 at phx.gbl>> Content-Type: text/plain; charset="iso-8859-1"> > Hi> > I know there are many different ipc mechanism to communicate between different process running on a same local machine.> I am trying to figure out which one will be the best possible method for my application.> > The requirements for my application are:> 1.I need to transfer around 40,000 bytes of data from one process to another. This data transfer will occur at a very frequent time interval.(Can I use local unix socket to transfer these data or shared memory is better approach?).> > > _________________________________________________________________> Download the latest version of Windows Live Messenger NOW!> http://get.live.com/en-ie/messenger/overview> -------------- next part --------------> An HTML attachment was scrubbed...> URL: http://lists.linux.org.au/pipermail/linuxcprogramming/attachments/20070831/8badceea/attachment-0001.htm > > ------------------------------> > Message: 8> Date: Mon, 03 Sep 2007 09:48:28 +0930> From: Kim Hawtin <kim.hawtin at adelaide.edu.au>> Subject: Re: [LCP] best ipc mechanism> To: linuxcprogramming at lists.linux.org.au> Message-ID: <46DB52D4.7040101 at adelaide.edu.au>> Content-Type: text/plain; charset=ISO-8859-1> > hi vineeth,> > vineeth saraschandran wrote:> > I know there are many different ipc mechanism to communicate between different process running on a same local machine.> > I am trying to figure out which one will be the best possible method for my application.> > > > The requirements for my application are:> > 1.I need to transfer around 40,000 bytes of data from one process to another. This data transfer will occur at a very frequent time interval.(Can I use local unix socket to transfer these data or shared memory is better approach?).> > sysv shared memory is one way, mmap'ing files, or UDP streams another> > have a look at the comp.lang.c faq;> http://c-faq.com/> > this socket programming howto is in python, but the concepts are the same;> http://www.amk.ca/python/howto/sockets/> > and some interesting stuff in the secure programing howto;> http://www.dwheeler.com/secure-programs/Secure-Programs-HOWTO/features.html> > cheers,> > kim> > > > ------------------------------> > Message: 9> Date: Thu, 20 Sep 2007 11:18:57 +0800 (CST)> From: "Shi ZeQin" <haqin at 126.com>> Subject: [LCP] SPI driver development questions> To: linuxcprogramming at lists.linux.org.au> Message-ID:> <17048860.720121190258337440.JavaMail.coremail at bj126app62.126.com>> Content-Type: text/plain; charset="gbk"> > I have to develop an SPI device driver to make a at91sam9261 custom board "talk" to an at89s53 in order to receive data from it when needed.> I'm using 2.6.14 kernel with support for the spi subsystem enabled. The tree below are files that come with kernel in driver/spi/.> > > ------------------------------> > Message: 10> Date: Thu, 20 Sep 2007 14:09:01 +0800> From: "haqin" <haqin at 126.com>> Subject: [LCP] SPI driver development questions> To: "Linux C Programming" <linuxcprogramming at lists.linux.org.au>> Message-ID: <200709201408591090423 at 126.com>> Content-Type: text/plain; charset="gb2312"> > Sorry, there may be some problem with my network that half of the letter I sent several hours ago is cut off.> > > I have to develop a SPI device driver to make a at91sam9261 custom board "talk" to an at89s53 in order to receive data from it when needed.> > I'm using 2.6.14 kernel with support for the spi subsystem enabled. > > Could anyone tell me how to write a dirve base on the sp isubsystem support of the Linux kernel.> > Let me repeat. I wonder how to write a driver base on the spi subsystem, to communciate with a spi slave. > Could any one give me an esay example that even without irq ?> > > > Thank you all.> > Shi ZeQin> -------------- next part --------------> An HTML attachment was scrubbed...> URL: http://lists.linux.org.au/pipermail/linuxcprogramming/attachments/20070920/3435b3cb/attachment-0001.htm > > ------------------------------> > Message: 11> Date: Wed, 14 Nov 2007 16:30:34 +0100> From: Sayang Oin <sayangoin at hotmail.com>> Subject: [LCP] zombie process...> To: <linuxcprogramming at lists.linux.org.au>> Message-ID: <BAY128-W32E9FDB727DDECDA83FDC5A4810 at phx.gbl>> Content-Type: text/plain; charset="iso-8859-1"> > Hello,> > can someone help me?> > I start a process via clone function but I don't know how to exit my child process without get a zombie...> > thank you in addvance> Sayangoin> > > > // source code.................> > #include <signal.h>#include <stdio.h>#include <sys/types.h>#include <sys/wait.h>#include <sched.h>#include <unistd.h>#include <syscall.h> // for syscall(SYS_getpid)#include <syslog.h>#include <errno.h>#include <fcntl.h>#include <sys/stat.h>> #include "logCtrl.h"> int transProcessId=0;char transStack[0x40000];> pid_t mypid;> int transProcess(){ mypid = syscall(SYS_getpid);> printLog(logTRANS,"create transProc %i",mypid); > return 0;}> void startTransProcess(){ mypid = syscall(SYS_getpid);> printLog(logMODUL1,"create transProc %i",mypid);> if(transProcessId>0) transProcessId=0; // transProcessId initialisieren> transProcessId=clone(transProcess, &transStack[sizeof(transStack)-10],CLONE_VM|CLONE_FILES|CLONE_FS , 0);> if(transProcessId>0){ printLog(logMODUL1,"transProc gestartet (PID: %d)",transProcessId); } else { printLog(logMODUL1,"transProc nicht startet (PID: %d)",transProcessId); }};> void modul1(){ //printLog(logMODUL1,"Modul1"); if (!transProcessId) startTransProcess(); }> > int mainprog(){ printLog(logMAIN,"Programm start"); > while(1) { modul1(); usleep(10*1000); } return 0; > }> > // -------------------------------------------------------------------------// // -------------------------------------------------------------------------////// *******************************************************************************************////// *******************************************************************************************//int main (int argc,char *argv[]){ initLogCtrl();> mainprog(); return 0; }> _________________________________________________________________> Windows Live Writer Beta - Ver?ffentlichen Sie Multimediainhalte in Ihrem Blog!> http://get.live.com/betas/writer_betas> -------------- next part --------------> An HTML attachment was scrubbed...> URL: http://lists.linux.org.au/pipermail/linuxcprogramming/attachments/20071114/839bdea3/attachment-0001.htm > > ------------------------------> > Message: 12> Date: Wed, 14 Nov 2007 13:53:07 -0600> From: "Paul Gearon" <gearon at ieee.org>> Subject: Re: [LCP] zombie process...> To: "Linux C Programming" <linuxcprogramming at lists.linux.org.au>> Message-ID:> <a25ac1f0711141153i5e5c8661g5c3e1385726052e0 at mail.gmail.com>> Content-Type: text/plain; charset=ISO-8859-1> > I should point out that you shouldn't be using system calls to do> simple things like getting your pid. That's what glibc is for. It> wraps all those system calls up into standard POSIX functions that you> *should* be calling. In this case, use getpid(2). For details type:> man getpid> > As for your zombie problem, they're waiting to be reaped. The parent> can choose to read the exit status at any time, so the OS *must* keep> this info until the parent has collected it. This is called reaping.> It's a simple matter of calling one of the synchronous wait()> functions. On Linux these are wait, waitpid and waitid. See wait(2)> for the details:> man 2 wait> > Regards,> Paul> > On Nov 14, 2007 9:30 AM, Sayang Oin <sayangoin at hotmail.com> wrote:> >> > Hello,> >> > can someone help me?> >> > I start a process via clone function but I don't know how to exit my child> > process without get a zombie...> >> > thank you in addvance> > Sayangoin> >> >> >> > // source code.................> >> > #include <signal.h>> > #include <stdio.h>> > #include <sys/types.h>> > #include <sys/wait.h>> > #include <sched.h>> > #include <unistd.h>> > #include <syscall.h> // for syscall(SYS_getpid)> > #include <syslog.h>> > #include <errno.h>> > #include <fcntl.h>> > #include <sys/stat.h>> >> > #include "logCtrl.h"> > int transProcessId=0;> > char transStack[0x40000];> > pid_t mypid;> >> > int transProcess(){> >> > mypid = syscall(SYS_getpid);> > printLog(logTRANS,"create transProc %i",mypid);> > return 0;> > }> > void startTransProcess(){> >> > mypid = syscall(SYS_getpid);> > printLog(logMODUL1,"create transProc %i",mypid);> > if(transProcessId>0) transProcessId=0; // transProcessId initialisieren> > transProcessId=clone(transProcess,> > &transStack[sizeof(transStack)-10],CLONE_VM|CLONE_FILES|CLONE_FS , 0);> > if(transProcessId>0){> > printLog(logMODUL1,"transProc gestartet (PID: %d)",transProcessId);> > }> > else {> > printLog(logMODUL1,"transProc nicht startet (PID: %d)",transProcessId);> > }> > };> >> > void modul1()> > {> > //printLog(logMODUL1,"Modul1");> >> > if (!transProcessId) startTransProcess();> >> > }> >> > int mainprog()> > {> > printLog(logMAIN,"Programm start");> > while(1) {> >> > modul1();> >> > usleep(10*1000);> >> > }> >> > return 0;> > }> >> >> > //> > -------------------------------------------------------------------------> > //> > // -------------------------------------------------------------------------> > //> > //> > //> > *******************************************************************************************> > //> > //> > //> > *******************************************************************************************> > //> > int main (int argc,char *argv[]){> >> > initLogCtrl();> > mainprog();> > return 0;> >> > }> >> >> > ________________________________> > Schon gesehen? Tolle Bilder von Sarah Connor gibt es hier! Live Search> > _______________________________________________> > This is the Linux C Programming List> > : http://lists.linux.org.au/listinfo/linuxcprogramming List> >> >> > > > ------------------------------> > _______________________________________________> linuxCprogramming mailing list> linuxCprogramming at lists.linux.org.au> http://lists.linux.org.au/listinfo/linuxcprogramming> > > End of linuxCprogramming Digest, Vol 2, Issue 1> ***********************************************
_________________________________________________________________
Freunde treffen. Jetzt den Windows Live™ Messenger downloaden!
http://get.live.com/messenger/overview
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.linux.org.au/pipermail/linuxcprogramming/attachments/20071115/f98d58db/attachment-0001.htm
More information about the linuxCprogramming
mailing list