/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ /* * Authors: Jeffrey Stedfast <fejj@ximian.com> * * Copyright 2003 Ximian, Inc. (www.ximian.com) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA. * */ #ifdef HAVE_CONFIG_H #include <config.h> #endif #include <unistd.h> #include <fcntl.h> #include <errno.h> #include "camel-process.h" pid_t camel_process_fork (const char *path, char **argv, int *infd, int *outfd, int *errfd, CamelException *ex) { int errnosav, fd[6], i; pid_t pid; for (i = 0; i < 6; i++) fds[i] = -1; for (i = 0; i < 6; i += 2) { if (pipe (fd + i) == -1) { errnosav = errno; camel_exception_setv (ex, CAMEL_EXCEPTION_SYSTEM, _("Failed to create pipe to '%s': %s"), argv[0], strerror (errno)); for (i = 0; i < 6; i++) { if (fd[i] == -1) break; close (fd[i]); } errno = errnosav; return -1; } } if (!(pid = fork ())) { /* child process */ int maxfd, nullfd = -1; if (!outfd || !errfd) nullfd = open ("/dev/null", O_WRONLY); if (dup2 (fd[0], STDIN_FILENO) == -1) _exit (255); if (dup2 (outfd ? fd[3] : nullfd, STDOUT_FILENO) == -1) _exit (255); if (dup2 (errfd ? fd[5] : nullfd, STDERR_FILENO) == -1) _exit (255); setsid (); if ((maxfd = sysconf (_SC_OPEN_MAX)) > 0) { for (i = 0; i < maxfd; i++) { if (i != STDIN_FILENO && i != STDOUT_FILENO && i != STDERR_FILENO) close (i); } } execv (path, argv); _exit (255); } else if (pid == -1) { camel_exception_setv (ex, CAMEL_EXCEPTION_SYSTEM, _("Failed to create create child process '%s': %s"), argv[0], strerror (errno)); return -1; } /* parent process */ close (fd[0]); close (fd[3]); close (fd[5]); if (infd) *infd = fd[1]; else close (fd[1]); if (outfd) *outfd = fd[2]; else close (fd[2]); if (errfd) *errfd = fd[4]; else close (fd[4]); return pid; } int camel_process_wait (pid_t pid) { sigset_t mask, omask; int status; pid_t r; sigemptyset (&mask); sigaddset (&mask, SIGALRM); sigprocmask (SIG_BLOCK, &mask, &omask); alarm (1); r = waitpid (pid, &status, 0); alarm (0); sigprocmask (SIG_SETMASK, &omask, NULL); if (r == (pid_t) -1 && errno == EINTR) { kill (pid, SIGTERM); sleep (1); r = waitpid (pid, &status, WNOHANG); if (r == (pid_t) 0) { kill (pid, SIGKILL); sleep (1); r = waitpid (pid, &status, WNOHANG); } } if (r != (pid_t) -1 && WIFEXITED (status)) return WEXITSTATUS (status); else return -1; } 6.5.3</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.4'>dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.4</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8'>dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/lodash-4.17.19'>dependabot/npm_and_yarn/devel/electron6/files/lodash-4.17.19</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/lodash.merge-4.6.2'>dependabot/npm_and_yarn/devel/electron6/files/lodash.merge-4.6.2</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/node-fetch-2.6.1'>dependabot/npm_and_yarn/devel/electron6/files/node-fetch-2.6.1</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/serve-10.1.2'>dependabot/npm_and_yarn/devel/electron6/files/serve-10.1.2</option> <option value='gnome-3.22'>gnome-3.22</option> <option value='gnome-3.24'>gnome-3.24</option> <option value='gnome-3.26'>gnome-3.26</option> <option value='gnome-3.28'>gnome-3.28</option> <option value='gnome-3.32'>gnome-3.32</option> <option value='gnome-3.36'>gnome-3.36</option> <option value='gstreamer'>gstreamer</option> <option value='gstreamer-1.16'>gstreamer-1.16</option> <option value='gstreamer0.10-removal' selected='selected'>gstreamer0.10-removal</option> <option value='main'>main</option> <option value='master'>master</option> <option value='mate-1.16'>mate-1.16</option> <option value='mate-1.18'>mate-1.18</option> <option value='mate-1.20'>mate-1.20</option> <option value='mate-1.22'>mate-1.22</option> </select> <input type='submit' value='switch'/></form></td></tr> <tr><td class='sub'>FreeBSD GNOME current development ports (https://github.com/freebsd/freebsd-ports-gnome)</td><td class='sub right'></td></tr></table> <table class='tabs'><tr><td> <a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/about/?h=gstreamer0.10-removal'>about</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/?h=gstreamer0.10-removal'>summary</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/refs/?h=gstreamer0.10-removal&id=239790ea3743cd753161cb6bc1fcacf592bd5ae6'>refs</a><a class='active' href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/java/jakarta-commons-pool?h=gstreamer0.10-removal'>log</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/tree/java/jakarta-commons-pool?h=gstreamer0.10-removal&id=239790ea3743cd753161cb6bc1fcacf592bd5ae6'>tree</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/java/jakarta-commons-pool?h=gstreamer0.10-removal&id=239790ea3743cd753161cb6bc1fcacf592bd5ae6'>commit</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/diff/java/jakarta-commons-pool?h=gstreamer0.10-removal&id=239790ea3743cd753161cb6bc1fcacf592bd5ae6'>diff</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/stats/java/jakarta-commons-pool?h=gstreamer0.10-removal'>stats</a></td><td class='form'><form class='right' method='get' action='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/java/jakarta-commons-pool'> <input type='hidden' name='h' value='gstreamer0.10-removal'/><input type='hidden' name='id' value='239790ea3743cd753161cb6bc1fcacf592bd5ae6'/><select name='qt'> <option value='grep'>log msg</option> <option value='author'>author</option> <option value='committer'>committer</option> <option value='range'>range</option> </select> <input class='txt' type='search' size='10' name='q' value=''/> <input type='submit' value='search'/> </form> </td></tr></table> <div class='path'>path: <a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/?h=gstreamer0.10-removal&id=239790ea3743cd753161cb6bc1fcacf592bd5ae6'>root</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/java?h=gstreamer0.10-removal&id=239790ea3743cd753161cb6bc1fcacf592bd5ae6'>java</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/java/jakarta-commons-pool?h=gstreamer0.10-removal&id=239790ea3743cd753161cb6bc1fcacf592bd5ae6'>jakarta-commons-pool</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th></th><th class='left'>Commit message (<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/java/jakarta-commons-pool?h=gstreamer0.10-removal&id=239790ea3743cd753161cb6bc1fcacf592bd5ae6&showmsg=1'>Expand</a>)</th><th class='left'>Author</th><th class='left'>Age</th><th class='left'>Files</th><th class='left'>Lines</th></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/java/jakarta-commons-pool?h=gstreamer0.10-removal&id=1b9b2a88f8c1ca58432d0ed99a05fe94185f725e'>Apache Commons project are no longer hosted under MASTER_SITES_APACHE</a></td><td>ehaupt</td><td><span title='2008-02-27 23:10:54 +0800'>2008-02-27</span></td><td>1</td><td><span class='deletions'>-2</span>/<span class='insertions'>+2</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/java/jakarta-commons-pool?h=gstreamer0.10-removal&id=87f4d471fb27b9547c1a0de221b51f4c31684157'>- Welcome X.org 7.2 \o/.</a></td><td>flz</td><td><span title='2007-05-20 04:36:56 +0800'>2007-05-20</span></td><td>1</td><td><span class='deletions'>-0</span>/<span class='insertions'>+1</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/java/jakarta-commons-pool?h=gstreamer0.10-removal&id=42a70aa12ba9c3d634f7807b618a14ebf85f22c5'>Update to 1.3.</a></td><td>stefan</td><td><span title='2006-06-09 00:51:59 +0800'>2006-06-09</span></td><td>3</td><td><span class='deletions'>-47</span>/<span class='insertions'>+7</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/java/jakarta-commons-pool?h=gstreamer0.10-removal&id=835cd3814bc4ac55bb09be5cef8e0709cbd78e19'>Solve JDK 1.5 incompatibility.</a></td><td>stefan</td><td><span title='2006-05-21 21:27:53 +0800'>2006-05-21</span></td><td>2</td><td><span class='deletions'>-2</span>/<span class='insertions'>+33</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/java/jakarta-commons-pool?h=gstreamer0.10-removal&id=20dca57b87c36e8896568e78616c585ea9559f79'>BROKEN: Does not compile</a></td><td>kris</td><td><span title='2006-04-23 06:25:04 +0800'>2006-04-23</span></td><td>1</td><td><span class='deletions'>-0</span>/<span class='insertions'>+2</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/java/jakarta-commons-pool?h=gstreamer0.10-removal&id=52a9ad99d9581d49a45d5e5beba9049037715163'>SHA256ify</a></td><td>edwin</td><td><span title='2006-01-22 20:42:24 +0800'>2006-01-22</span></td><td>1</td><td><span class='deletions'>-0</span>/<span class='insertions'>+1</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/java/jakarta-commons-pool?h=gstreamer0.10-removal&id=1c0284d5c68858a3994e3015d0f1581457debcff'>- Update to bsd.java.mk 2.0 [1]</a></td><td>hq</td><td><span title='2005-01-18 17:09:42 +0800'>2005-01-18</span></td><td>3</td><td><span class='deletions'>-23</span>/<span class='insertions'>+25</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/java/jakarta-commons-pool?h=gstreamer0.10-removal&id=0c2df36f41efdaec5f3a0ffa6c4018b823a19695'>. Update to 1.2 [1]</a></td><td>glewis</td><td><span title='2004-07-26 13:37:19 +0800'>2004-07-26</span></td><td>3</td><td><span class='deletions'>-8</span>/<span class='insertions'>+6</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/java/jakarta-commons-pool?h=gstreamer0.10-removal&id=f0d34a787d1e35f19b8a62c99a2d72ecac8b20b9'>SIZEify.</a></td><td>clement</td><td><span title='2004-03-22 20:07:27 +0800'>2004-03-22</span></td><td>1</td><td><span class='deletions'>-0</span>/<span class='insertions'>+1</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/java/jakarta-commons-pool?h=gstreamer0.10-removal&id=794ee1dc7040bf35ee7d43e83a44adb6daa6a438'>. Unbreak the build after the recent changes to ant. I've done it slightly</a></td><td>glewis</td><td><span title='2004-01-23 14:26:08 +0800'>2004-01-23</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+2</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/java/jakarta-commons-pool?h=gstreamer0.10-removal&id=6d80cd11f3fca5b8676858f071af4895981bda79'>. Simplify the packing list [1]</a></td><td>glewis</td><td><span title='2003-11-21 07:21:26 +0800'>2003-11-21</span></td><td>2</td><td><span class='deletions'>-43</span>/<span class='insertions'>+3</span></td></tr>