* path.cc (path_conv::check): Leave symlink expansion loop in case
a not-ENOENT error happens. * cygheap.h (cygheap_fdmanip::fhandler_pipe *): New cast operator. * pinfo.cc (_pinfo::commune_recv): Add PICOM_PIPE_FHANDLER handling. (_pinfo::commune_send): Ditto. (_pinfo::pipe_fhandler): New method. * pinfo.h (enum picom): Add PICOM_PIPE_FHANDLER. (_pinfo::pipe_fhandler): Declare. * pipe.cc (fhandler_pipe::open): Rewrite. Allow to open foreign pipe handles.
This commit is contained in:
@@ -27,12 +27,15 @@ enum picom
|
||||
PICOM_CWD = 3,
|
||||
PICOM_ROOT = 4,
|
||||
PICOM_FDS = 5,
|
||||
PICOM_FD = 6
|
||||
PICOM_FD = 6,
|
||||
PICOM_PIPE_FHANDLER = 7
|
||||
};
|
||||
|
||||
#define EXITCODE_SET 0x80000000
|
||||
#define EXITCODE_NOSET 0x40000000
|
||||
|
||||
class fhandler_pipe;
|
||||
|
||||
class _pinfo
|
||||
{
|
||||
public:
|
||||
@@ -110,6 +113,7 @@ public:
|
||||
void commune_recv ();
|
||||
commune_result commune_send (DWORD, ...);
|
||||
bool alive ();
|
||||
fhandler_pipe *pipe_fhandler (HANDLE hdl, size_t &);
|
||||
char *fd (int fd, size_t &);
|
||||
char *fds (size_t &);
|
||||
char *root (size_t &);
|
||||
|
Reference in New Issue
Block a user