--- fhandler.h.orig 2004-12-25 22:20:20.573768000 -0800 +++ fhandler.h 2004-12-25 22:20:28.294870400 -0800 @@ -434,6 +434,7 @@ select_record *select_except (select_record *s); void set_close_on_exec (bool val); void __stdcall read (void *ptr, size_t& len) __attribute__ ((regparm (3))); + int __stdcall fchmod (mode_t mode) __attribute__ ((regparm (1))); int close (); void create_guard (SECURITY_ATTRIBUTES *sa) {guard = CreateMutex (sa, FALSE, NULL);} int dup (fhandler_base *child); --- pipe.cc.orig 2004-12-25 22:19:49.469041600 -0800 +++ pipe.cc 2004-12-25 23:01:26.619768000 -0800 @@ -53,6 +53,13 @@ set_no_inheritance (writepipe_exists, val); } +int __stdcall +fhandler_pipe::fchmod (mode_t mode) +{ + extern int chmod_device (path_conv& pc, mode_t mode); + return chmod_device (pc, mode); +} + struct pipeargs { fhandler_base *fh;