Kyle Evans
c34a5f16fa
posix_spawn(3): handle potential signal issues with vfork
...
Described in [1], signal handlers running in a vfork child have
opportunities to corrupt the parent's state. Address this by adding a new
rfork(2) flag, RFSPAWN, that has vfork(2) semantics but also resets signal
handlers in the child during creation.
x86 uses rfork_thread(3) instead of a direct rfork(2) because rfork with
RFMEM/RFSPAWN cannot work when the return address is stored on the stack --
further information about this problem is described under RFMEM in the
rfork(2) man page.
Addressing this has been identified as a prerequisite to using posix_spawn
in subprocess on FreeBSD [2].
[1] https://ewontfix.com/7/
[2] https://bugs.python.org/issue35823
Reviewed by: jilles, kib
Differential Revision: https://reviews.freebsd.org/D19058
2019-09-25 19:22:03 +00:00
..
2017-11-25 17:12:48 +00:00
2018-07-03 17:31:45 +00:00
2017-11-25 17:12:48 +00:00
2019-06-23 10:50:26 +00:00
2017-11-20 19:49:47 +00:00
2017-11-25 17:12:48 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2019-04-19 22:08:17 +00:00
2018-08-19 17:40:50 +00:00
2019-03-21 14:45:08 +00:00
2018-10-20 22:14:29 +00:00
2018-08-19 17:40:50 +00:00
2018-07-03 17:31:45 +00:00
2019-04-26 15:43:14 +00:00
2017-11-25 17:12:48 +00:00
2017-12-08 22:06:18 +00:00
2017-05-23 06:53:31 +00:00
2016-11-03 20:21:34 +00:00
2017-11-25 17:12:48 +00:00
2016-08-04 11:38:53 +00:00
2017-11-25 17:12:48 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2018-07-03 17:31:45 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2018-07-03 17:31:45 +00:00
2017-02-28 23:42:47 +00:00
2017-11-25 17:12:48 +00:00
2019-08-01 18:51:06 +00:00
2018-07-03 17:31:45 +00:00
2017-05-23 09:29:05 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2019-05-02 19:59:37 +00:00
2017-11-25 17:12:48 +00:00
2016-08-12 07:03:58 +00:00
2017-05-23 06:56:57 +00:00
2016-09-18 20:47:55 +00:00
2018-07-03 17:31:45 +00:00
2014-10-09 22:58:33 +00:00
2010-04-14 19:08:06 +00:00
2017-11-25 17:12:48 +00:00
2010-04-14 19:08:06 +00:00
2019-01-17 16:50:50 +00:00
2002-03-22 21:53:29 +00:00
2017-11-25 17:12:48 +00:00
2019-07-17 23:46:47 +00:00
2002-03-22 21:53:29 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2019-01-17 06:35:45 +00:00
2017-11-25 17:12:48 +00:00
2018-07-28 23:55:18 +00:00
2018-07-03 17:31:45 +00:00
2018-04-12 18:23:14 +00:00
2017-11-25 17:12:48 +00:00
2017-11-20 19:49:47 +00:00
2017-11-25 17:12:48 +00:00
2017-11-25 17:12:48 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2005-01-27 05:46:17 +00:00
2017-11-25 17:12:48 +00:00
2017-02-28 23:42:47 +00:00
2017-11-25 17:12:48 +00:00
2018-07-03 17:31:45 +00:00
2014-12-21 12:36:36 +00:00
2018-08-07 15:24:19 +00:00
2019-03-26 19:35:41 +00:00
2017-05-23 09:29:05 +00:00
2019-03-26 19:35:41 +00:00
2017-11-20 19:49:47 +00:00
2017-02-28 23:42:47 +00:00
2019-03-26 19:35:41 +00:00
2018-07-03 17:31:45 +00:00
2012-08-09 15:11:38 +00:00
2017-05-23 09:29:05 +00:00
2019-06-30 11:49:58 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2017-06-12 00:43:14 +00:00
2018-07-03 17:31:45 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2017-02-28 23:42:47 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2018-03-21 01:15:45 +00:00
2018-10-20 21:45:17 +00:00
2017-02-28 23:42:47 +00:00
2017-02-28 23:42:47 +00:00
2018-10-16 18:17:07 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2018-07-03 17:31:45 +00:00
2018-07-03 17:31:45 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2018-06-13 18:34:49 +00:00
2018-07-03 17:31:45 +00:00
2017-04-26 14:28:27 +00:00
2018-07-03 17:31:45 +00:00
2014-06-23 08:25:03 +00:00
2017-11-25 17:12:48 +00:00
2017-02-28 23:42:47 +00:00
2017-02-04 00:37:25 +00:00
2018-02-23 00:28:00 +00:00
2017-02-28 23:42:47 +00:00
2018-07-26 18:34:38 +00:00
2018-02-27 10:55:33 +00:00
2018-07-03 17:31:45 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2017-11-25 17:12:48 +00:00
2018-08-16 18:40:16 +00:00
2019-07-17 19:41:44 +00:00
2018-07-03 17:31:45 +00:00
2017-05-23 09:29:05 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2018-07-03 17:31:45 +00:00
2017-12-31 00:46:41 +00:00
2017-11-25 17:12:48 +00:00
2017-11-25 17:12:48 +00:00
2016-12-06 19:08:29 +00:00
2017-02-28 23:42:47 +00:00
2005-01-22 06:03:40 +00:00
2019-06-23 10:45:50 +00:00
2017-11-25 17:12:48 +00:00
2002-03-22 21:53:29 +00:00
2018-01-31 17:56:36 +00:00
2019-09-05 14:09:33 +00:00
2017-02-28 23:42:47 +00:00
2016-12-06 19:08:29 +00:00
2018-07-03 17:31:45 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2019-06-23 10:47:07 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2015-04-26 10:52:37 +00:00
2018-02-27 04:41:14 +00:00
2019-09-25 19:22:03 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2017-11-25 17:12:48 +00:00
2018-07-26 18:34:38 +00:00
2018-07-26 18:34:38 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2002-02-01 01:32:19 +00:00
2018-07-03 17:31:45 +00:00
2018-07-03 17:31:45 +00:00
2019-02-13 04:52:01 +00:00
2016-01-24 22:20:13 +00:00
2016-10-11 11:46:02 +00:00
2018-07-03 17:31:45 +00:00
2018-07-03 17:31:45 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2018-07-03 17:31:45 +00:00
2014-10-24 19:55:49 +00:00
2017-11-25 17:12:48 +00:00
2015-01-28 22:42:56 +00:00
2017-05-24 17:50:34 +00:00
2017-11-25 17:12:48 +00:00
2018-03-02 22:32:53 +00:00
2016-01-29 14:12:12 +00:00
2018-07-03 17:31:45 +00:00
2018-07-03 17:31:45 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2019-07-18 21:33:55 +00:00
2018-07-03 17:31:45 +00:00
2018-07-04 13:31:16 +00:00
2018-08-17 14:37:13 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2018-07-03 17:31:45 +00:00
2017-12-01 22:48:20 +00:00
2018-07-03 17:31:45 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2014-06-23 08:25:03 +00:00
2018-07-03 17:31:45 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2019-06-23 10:50:26 +00:00
2017-02-28 23:42:47 +00:00
2018-11-19 18:23:17 +00:00
2019-03-23 19:53:15 +00:00
2018-07-03 17:31:45 +00:00
2019-09-03 04:16:30 +00:00
2019-09-18 16:13:10 +00:00
2018-12-06 18:03:18 +00:00
2018-07-03 17:31:45 +00:00
2017-02-28 23:42:47 +00:00
2010-05-19 08:57:53 +00:00
2017-05-23 06:58:08 +00:00
2017-02-28 23:42:47 +00:00
2017-02-28 23:42:47 +00:00
2019-06-23 10:47:07 +00:00
2017-12-06 22:06:48 +00:00
2018-07-03 17:31:45 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2018-08-10 15:16:41 +00:00
2018-08-10 15:16:36 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2017-12-12 11:25:30 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2018-07-03 17:31:45 +00:00
2017-02-28 23:42:47 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2017-11-25 17:12:48 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2017-11-25 17:12:48 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2017-11-25 17:12:48 +00:00
2017-11-25 17:12:48 +00:00
2017-02-28 23:42:47 +00:00
2018-07-03 17:31:45 +00:00
2018-07-03 17:31:45 +00:00
2018-07-03 17:31:45 +00:00
2017-11-25 17:12:48 +00:00
2018-07-03 17:31:45 +00:00
2017-11-25 17:12:48 +00:00