/* -*-C-*-
-$Id: ux.h,v 1.92 2009/04/15 13:09:20 riastradh Exp $
+$Id: ux.h,v 1.93 2009/04/15 13:33:40 riastradh Exp $
Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
UX_out_of_files_p = false; \
} while (0)
+#define STD_FD_VOID_SYSTEM_CALL(name, expression) \
+ do { \
+ while ((expression) < 0) \
+ UX_prim_check_fd_errno (name); \
+ UX_out_of_files_p = false; \
+ } while (0)
+
#endif /* SCM_UX_H */
/* -*-C-*-
-$Id: uxio.c,v 1.64 2009/04/15 13:00:32 riastradh Exp $
+$Id: uxio.c,v 1.65 2009/04/15 13:33:41 riastradh Exp $
Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
{
int pv [2];
transaction_begin ();
- while ((UX_pipe (pv)) < 0)
- UX_prim_check_fd_errno (syscall_pipe);
+ STD_FD_VOID_SYSTEM_CALL (syscall_pipe, (UX_pipe (pv)));
MAKE_CHANNEL ((pv[0]), channel_type_unix_pipe, (*readerp) =);
OS_channel_close_on_abort (*readerp);
MAKE_CHANNEL ((pv[1]), channel_type_unix_pipe, (*writerp) =);