Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 8 Apr 2009 19:13:10 +0530
From:      Mehul Chadha <mehulc87@gmail.com>
To:        freebsd-hackers@freebsd.org
Subject:   working of syscall handling
Message-ID:  <251d650c0904080643o8789860w87c8cca070a16489@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hello all,

            I have a doubt in understanding the working of the freebsd OS.

In the program given below the function readlink gets called up when
printf is executed and the program ends without any output.

readlink is a system call (syscall number = 58) which is being made by
the printf function, but according to my understanding of system call,
it is made by putting the handler number in eax register and then
interrupting the processor, so that it can enter the kernel mode and
execute the required function, but in this case(dont know why) my
readlink function gets called up which should not have happened.

I will be very thankful if you can help me with it.


#include<stdio.h>

int readlink(void *a, void *b)
{
 exit(0);
}

int main(int argc, char **argv)
{
  printf("Hello World");
}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?251d650c0904080643o8789860w87c8cca070a16489>