--- libelwix/src/pio.c 2014/01/14 22:50:54 1.2.2.1 +++ libelwix/src/pio.c 2016/05/14 11:31:38 1.4.4.1 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: pio.c,v 1.2.2.1 2014/01/14 22:50:54 misho Exp $ +* $Id: pio.c,v 1.4.4.1 2016/05/14 11:31:38 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -12,7 +12,7 @@ terms: All of the documentation and software included in the ELWIX and AITNET Releases is copyrighted by ELWIX - Sofia/Bulgaria -Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 +Copyright 2004 - 2015 by Michael Pounov . All rights reserved. Redistribution and use in source and binary forms, with or without @@ -49,11 +49,15 @@ SUCH DAMAGE. extern char **environ; pio_pid_t pio_pidlist = SLIST_HEAD_INITIALIZER(pio_pidlist); +#ifdef HAVE_LIBPTHREAD static pthread_mutex_t pidlist_mutex = PTHREAD_MUTEX_INITIALIZER; -#define THREAD_LOCK() if (__isthreaded) pthread_mutex_lock(&pidlist_mutex) -#define THREAD_UNLOCK() if (__isthreaded) pthread_mutex_unlock(&pidlist_mutex) - +#define THREAD_LOCK() pthread_mutex_lock(&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