diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2012-12-20 22:13:17 +0100 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2012-12-20 22:13:17 +0100 |
commit | c77f17cfb827c17de7f1d5318cbbbeea03286715 (patch) | |
tree | c72a20c83f42c10967120c633edd51628240611f /glibc | |
parent | 8e4cd1e9147637ead1ef782cb67a660eb45845a1 (diff) | |
download | web-c77f17cfb827c17de7f1d5318cbbbeea03286715.tar.gz web-c77f17cfb827c17de7f1d5318cbbbeea03286715.tar.bz2 web-c77f17cfb827c17de7f1d5318cbbbeea03286715.zip |
open_issues/fork_deadlock: Data I collected.
Diffstat (limited to 'glibc')
-rw-r--r-- | glibc/critical_section.mdwn | 19 | ||||
-rw-r--r-- | glibc/signal.mdwn | 4 | ||||
-rw-r--r-- | glibc/signal/discussion.mdwn | 1 |
3 files changed, 23 insertions, 1 deletions
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]]. diff --git a/glibc/signal.mdwn b/glibc/signal.mdwn index 727247ac..77df1c57 100644 --- a/glibc/signal.mdwn +++ b/glibc/signal.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2009, 2010, 2011 Free Software Foundation, +[[!meta copyright="Copyright © 2009, 2010, 2011, 2012 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable @@ -27,6 +27,8 @@ implemented in [[glibc]]. [[!taglink open_issue_glibc]] + * [[Critical_Section]]s + # Further Reading diff --git a/glibc/signal/discussion.mdwn b/glibc/signal/discussion.mdwn index 064c1c5b..8687e173 100644 --- a/glibc/signal/discussion.mdwn +++ b/glibc/signal/discussion.mdwn @@ -11,6 +11,7 @@ License|/fdl]]."]]"""]] # `_hurd_sigstates` +[[!tag open_issue_glibc]] In an [[hurd/translator/ext2fs]] instance with 1068 threads, `_hurd_sigstates` was a linked with with 1067 entries, in one with 351 threads, 351 entries. Is this noticeable already? Perhaps a different data structure is needed? |