version 1.2, 2013/12/15 22:54:41
|
version 1.6, 2019/12/30 18:11:16
|
Line 12 terms:
|
Line 12 terms:
|
All of the documentation and software included in the ELWIX and AITNET |
All of the documentation and software included in the ELWIX and AITNET |
Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
|
|
Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 | Copyright 2004 - 2015 |
by Michael Pounov <misho@elwix.org>. All rights reserved. |
by Michael Pounov <misho@elwix.org>. All rights reserved. |
|
|
Redistribution and use in source and binary forms, with or without |
Redistribution and use in source and binary forms, with or without |
Line 49 SUCH DAMAGE.
|
Line 49 SUCH DAMAGE.
|
extern char **environ; |
extern char **environ; |
|
|
pio_pid_t pio_pidlist = SLIST_HEAD_INITIALIZER(pio_pidlist); |
pio_pid_t pio_pidlist = SLIST_HEAD_INITIALIZER(pio_pidlist); |
|
#ifdef HAVE_LIBPTHREAD |
static pthread_mutex_t pidlist_mutex = PTHREAD_MUTEX_INITIALIZER; |
static pthread_mutex_t pidlist_mutex = PTHREAD_MUTEX_INITIALIZER; |
|
|
#define THREAD_LOCK() if (__isthreaded) pthread_mutex_lock(&pidlist_mutex) | #define THREAD_LOCK() pthread_mutex_lock(&pidlist_mutex) |
#define THREAD_UNLOCK() if (__isthreaded) pthread_mutex_unlock(&pidlist_mutex) | #define THREAD_UNLOCK() pthread_mutex_unlock(&pidlist_mutex) |
| #else |
| #define THREAD_LOCK() |
| #define THREAD_UNLOCK() |
| #endif |
|
|
|
|
/* |
/* |
* e_popen() - ELWIX replacement of standard popen |
* e_popen() - ELWIX replacement of standard popen |
* |
* |
Line 231 e_pclose(int iop)
|
Line 235 e_pclose(int iop)
|
#endif |
#endif |
{ |
{ |
struct tagPIOPID *cur, *last = NULL; |
struct tagPIOPID *cur, *last = NULL; |
int pstat; | int pstat = 0; |
pid_t pid; |
pid_t pid; |
|
|
if (!iop) |
if (!iop) |
Line 318 pio_pchkpid(array_t ** __restrict pids)
|
Line 322 pio_pchkpid(array_t ** __restrict pids)
|
{ |
{ |
register int ret = 0; |
register int ret = 0; |
struct tagPIOPID *p; |
struct tagPIOPID *p; |
array_t *pa; | array_t *pa = NULL; |
|
|
if (pids) { |
if (pids) { |
if (!(pa = array_Init(0))) |
if (!(pa = array_Init(0))) |