Heya list, i got a problem calling pipe() in a translator and i'm kinda lost with it. It only happens when i debug the translator with gdb. pipe() return -1 and errno is set to EIEIO. If you run it normally (without attaching to gdb) it works though.
I've stripped my code for this purpose. The main.c is inlined here. If you want the package grab it from http://nydian.is-a-geek.org/~nydian/hurd/pipetest.tar.bz2 I'd appreciate any kind of help/advice.. Thx in advance, Steven Keuchel *** main.c #include <error.h> #include <stdio.h> #include <unistd.h> #include <hurd/netfs.h> int main(int argc, char**argv) { mach_port_t bootstrap, underlying_node; int pipes[2]; char buffer[256]; task_get_bootstrap_port(mach_task_self(), &bootstrap); if(!MACH_PORT_VALID(bootstrap)) error(EXIT_FAILURE,0,"must be started as a translator"); netfs_init(); underlying_node = netfs_startup(bootstrap, 0); if(!MACH_PORT_VALID(underlying_node)) error(EXIT_FAILURE,0,"could not get the underlying node"); if(pipe(pipes) < 0) { sprintf(buffer, "pipe() returned %i\n", errno); perror(buffer); exit(errno); } for(;;) netfs_server_loop(); return 0; } _______________________________________________ Help-hurd mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/help-hurd
