From c77f17cfb827c17de7f1d5318cbbbeea03286715 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 20 Dec 2012 22:13:17 +0100 Subject: open_issues/fork_deadlock: Data I collected. --- glibc/critical_section.mdwn | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 glibc/critical_section.mdwn (limited to 'glibc/critical_section.mdwn') diff --git a/glibc/critical_section.mdwn b/glibc/critical_section.mdwn new file mode 100644 index 00000000..98ed86e9 --- /dev/null +++ b/glibc/critical_section.mdwn @@ -0,0 +1,19 @@ +[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +Quoting from `hurd/hurd/signal.h`: + +> A *critical section* is a section of code which cannot safely be interrupted +> to run a [[signal handler|signal]]; for example, code that holds any lock +> cannot be interrupted lest the signal handler try to take the same lock and +> deadlock result. + +[[!tag open_issue_glibc]]Checking the code for any violations would be a useful +task of [[open_issues/code_analysis]]/[[open_issues/formal_verification]]. -- cgit v1.2.3