Hola compa�eros.Tengo una duda con ddd 3.3.1

tengo un programa en c que crea un proceso hijo.Pues bien mi problema esta en 
que no se como poner un break point en el codigo que ejecuta el hijo y que se 
pare en este.Porque aunque ponga el breakpoint no se para porque solo ejecuta 
el  padre.

El codigo del programa es:

#include <netinet/in.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>//standard symbolic constants and types
#include <signal.h>//definen constantes simbolicas para manejo de se�ales 
entre
#include <errno.h>//define las constantes q nos dan los numeros de los errores
                    //del sistema



void do_echo(int);


extern int errno;

void do_echo(int fd){
char buf[4096];

int cc,org,faltan,cc2;

while (cc=read(fd,buf,sizeof(buf))){
if (cc<0){
perror("leyendo");
exit(6);
}
printf("datos recibidos:%s\n",buf);
org=0; ----------------------------------Aqui el break point------------->
faltan=cc;//los q tengo q mandar
while (faltan){
if ((cc2=write(fd,&buf[org],faltan))<0){
perror("fallo al escribir");
exit(7);
}
org+=cc2;
faltan-=cc2;
}
}
close(fd);
}

int main(){
struct sockaddr_in sin,fsin;
int s,ssock,alen;

sin.sin_family=AF_INET;
sin.sin_addr.s_addr=htonl(INADDR_ANY);
sin.sin_port=htons(1792);

if ((s=socket(PF_INET,SOCK_STREAM,0))<0){
    perror("creando el socke");
    exit(1);
}

if (bind(s,(struct sockaddr *)&sin,sizeof(sin))<0){
    perror("no se puede asignar la direccion");
    exit(2);
}
if (listen(s,5)<0){
    perror("no puedo poner el cocket en modo escucha");
    exit(3);
}

signal(SIGCHLD,SIG_IGN);//esto es para q al morir el proceso padre los hijos 
no queden como zombies

while (1){
    //em el accept creo un nuevo socket con su correspondiente struct sockaddr
    //q sera la direcion del socket remota
    alen=sizeof(fsin);
    if ((ssock=accept(s,(struct sockaddr *)&fsin,&alen))<0){
        if (errno==EINTR) continue;
        else {
            perror("fallo en el accept");
            exit(4);
        }
    }
    switch (fork()){
        case -1:perror("no puedo crear el hijo");exit(5);
        case 0://proceso hijo
            close(s);
            do_echo(ssock);
            break;
        default:
            close(ssock);
            break;
    }
}
}

-- 
-------

____________________________
|\                                               /| 
| \        Manuel Martin Martin       / |
|    \       [EMAIL PROTECTED]     /   |
|       \ ___________________/      |
|                                                 |
|                                        mmm  |
|____________________________|

_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


--
�Desea desuscribirse? Escriba a [EMAIL PROTECTED] con
el tema "unsubscribe".

Responder a