* pinfo.cc (pinfo::init): Use PID_ALLPIDS flag to control when a redirected
block should be marked as nonexistent. (winpids::add): Use PID_ALLPIDS when looking for all pids. * cygwin.h (PID_ALLPIDS): New enum element.
This commit is contained in:
parent
eeec2a4835
commit
ca17537785
@ -1,3 +1,10 @@
|
||||
2002-03-15 Christopher Faylor <cgf@redhat.com>
|
||||
|
||||
* pinfo.cc (pinfo::init): Use PID_ALLPIDS flag to control when a
|
||||
redirected block should be marked as nonexistent.
|
||||
(winpids::add): Use PID_ALLPIDS when looking for all pids.
|
||||
* cygwin.h (PID_ALLPIDS): New enum element.
|
||||
|
||||
2002-03-15 Corinna Vinschen <corina@vinschen.de>
|
||||
|
||||
* glob.c (stat32_to_STAT): New function.
|
||||
|
@ -94,7 +94,7 @@ enum
|
||||
PID_USETTY = 0x1000, // Setting this enables or disables cygwin's
|
||||
// tty support. This is inherited by
|
||||
// all execed or forked processes.
|
||||
PID_UNUSED2 = 0x2000, // child has execed
|
||||
PID_ALLPIDS = 0x2000, // child has execed
|
||||
PID_EXECED = 0x4000, // redirect to original pid info block
|
||||
PID_NOREDIR = 0x8000, // don't redirect if execed
|
||||
PID_EXITED = 0x80000000 // Free entry.
|
||||
|
@ -2456,7 +2456,7 @@ endhostent (void)
|
||||
}
|
||||
|
||||
/* exported as recvmsg: standards? */
|
||||
extern "C" int
|
||||
extern "C" int
|
||||
cygwin_recvmsg(int s, struct msghdr *msg, int flags)
|
||||
{
|
||||
int ret, nb;
|
||||
@ -2472,7 +2472,7 @@ cygwin_recvmsg(int s, struct msghdr *msg, int flags)
|
||||
errno = ENOMEM;
|
||||
return -1;
|
||||
}
|
||||
nb = ret = cygwin_recvfrom (s, buf, tot, flags,
|
||||
nb = ret = cygwin_recvfrom (s, buf, tot, flags,
|
||||
(struct sockaddr *) msg->msg_name, (int *) &msg->msg_namelen);
|
||||
p = buf;
|
||||
while (nb > 0) {
|
||||
@ -2509,7 +2509,7 @@ cygwin_sendmsg(int s, const struct msghdr *msg, int flags)
|
||||
memcpy (p, iov[i].iov_base, iov[i].iov_len);
|
||||
p += iov[i].iov_len;
|
||||
}
|
||||
ret = cygwin_sendto (s, buf, tot, flags,
|
||||
ret = cygwin_sendto (s, buf, tot, flags,
|
||||
(struct sockaddr *) msg->msg_name, msg->msg_namelen);
|
||||
free (buf);
|
||||
return ret;
|
||||
|
@ -183,7 +183,7 @@ pinfo::init (pid_t n, DWORD flag, HANDLE in_h)
|
||||
api_fatal ("retrieval of execed process info for pid %d failed due to recursion.", n);
|
||||
n = realpid;
|
||||
release ();
|
||||
if (flag & PID_NOREDIR)
|
||||
if (flag & PID_ALLPIDS)
|
||||
{
|
||||
set_errno (ENOENT);
|
||||
break;
|
||||
@ -287,7 +287,7 @@ winpids::add (DWORD& nelem, bool winpid, DWORD pid)
|
||||
pinfolist = (pinfo *) realloc (pinfolist, size_pinfolist (npidlist + 1));
|
||||
}
|
||||
|
||||
pinfolist[nelem].init (cygpid, PID_NOREDIR);
|
||||
pinfolist[nelem].init (cygpid, PID_NOREDIR | (winpid ? PID_ALLPIDS : 0));
|
||||
if (winpid)
|
||||
/* nothing to do */;
|
||||
else if (!pinfolist[nelem])
|
||||
|
Loading…
x
Reference in New Issue
Block a user