Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.programming.threads > #1123
| Message-ID | <h4hkj9-4fn.ln1@wilbur.25thandClement.com> (permalink) |
|---|---|
| From | William Ahern <william@wilbur.25thandClement.com> |
| Subject | Re: Safe accesses of global arrays in signal handlers? |
| Newsgroups | comp.programming.threads, comp.unix.programmer |
| References | <accvmcFog2gU1@mid.individual.net> <pan.2012.09.25.11.15.59.228000@nowhere.com> <acik2gF3panU1@mid.individual.net> <pan.2012.09.27.12.35.52.872000@nowhere.com> <aco3jeFcbohU1@mid.individual.net> |
| Date | 2012-09-29 17:42 -0700 |
Cross-posted to 2 groups.
Markus Elfring <Markus.Elfring@web.de> wrote:
> > Doing anything substantial in a signal handler is problematic.
> Do you see difficulties from read/write accesses on global/shared arrays there?
> Are atomic adjustments eventually needed for such a data type?
> Is the handling of atomicity relevant here?
What do you mean by shared? For example, assigning to an element of a file
scoped array like this should be fine:
volatile sig_atomic_t foo[NSIG];
void handler(int signo) {
foo[signo] = 1;
}
But what then? How do you process that? Other code can't simply scan the
array and, e.g., reset foo[SIGHUP] back to 0, unless it doesn't care about
missing any SIGHUP signals between reading and resetting the value.
You could have two arrays, with the signal handler producer and the signal
handler consumer each incrementing their own array. But you have to mask out
signals in your signal handler, because signals can interrupt signal
handlers, too.
These tricks aren't really needed anymore. On just about every platform
where you have to worry about these things, you have specialized interfaces
like kqueue, signalfd, sigtimedwait, pselect, et al which allow you to
synchronously query signal notifications.
Back to comp.programming.threads | Previous | Next — Previous in thread | Next in thread | Find similar
Safe accesses of global arrays in signal handlers? Markus Elfring <Markus.Elfring@web.de> - 2012-09-25 08:01 +0200
Re: Safe accesses of global arrays in signal handlers? Nobody <nobody@nowhere.com> - 2012-09-25 12:15 +0100
Re: Safe accesses of global arrays in signal handlers? Markus Elfring <Markus.Elfring@web.de> - 2012-09-27 11:20 +0200
Re: Safe accesses of global arrays in signal handlers? Rainer Weikusat <rweikusat@mssgmbh.com> - 2012-09-27 13:23 +0100
Re: Safe accesses of global arrays in signal handlers? Markus Elfring <Markus.Elfring@web.de> - 2012-09-28 13:25 +0200
Re: Safe accesses of global arrays in signal handlers? Nobody <nobody@nowhere.com> - 2012-09-27 13:35 +0100
Re: Safe accesses of global arrays in signal handlers? Markus Elfring <Markus.Elfring@web.de> - 2012-09-28 13:48 +0200
Re: Safe accesses of global arrays in signal handlers? Johann Klammer <klammerj@NOSPAM.a1.net> - 2012-09-28 18:34 +0200
Re: Safe accesses of global arrays in signal handlers? scott@slp53.sl.home (Scott Lurndal) - 2012-09-28 17:54 +0000
Re: Safe accesses of global arrays in signal handlers? Nobody <nobody@nowhere.com> - 2012-09-28 18:26 +0100
Re: Safe accesses of global arrays in signal handlers? Markus Elfring <Markus.Elfring@web.de> - 2012-09-29 13:44 +0200
Re: Safe accesses of global arrays in signal handlers? Nobody <nobody@nowhere.com> - 2012-09-29 20:37 +0100
Re: Safe accesses of global arrays in signal handlers? William Ahern <william@wilbur.25thandClement.com> - 2012-09-29 17:31 -0700
Signal handlers writing into pipes Markus Elfring <Markus.Elfring@web.de> - 2012-09-30 13:21 +0200
Re: Safe accesses of global arrays in signal handlers? Rainer Weikusat <rweikusat@mssgmbh.com> - 2012-10-01 18:04 +0100
Signal handlers writing into pipes Markus Elfring <Markus.Elfring@web.de> - 2012-10-03 16:36 +0200
Re: Signal handlers writing into pipes Rainer Weikusat <rweikusat@mssgmbh.com> - 2012-10-03 17:07 +0100
Re: Safe accesses of global arrays in signal handlers? Markus Elfring <Markus.Elfring@web.de> - 2012-09-30 13:12 +0200
Re: Safe accesses of global arrays in signal handlers? Nobody <nobody@nowhere.com> - 2012-09-30 20:46 +0100
Re: Safe accesses of global arrays in signal handlers? Geoff Clare <geoff@clare.See-My-Signature.invalid> - 2012-09-28 13:39 +0100
Re: Safe accesses of global arrays in signal handlers? Markus Elfring <Markus.Elfring@web.de> - 2012-09-29 13:15 +0200
Re: Safe accesses of global arrays in signal handlers? William Ahern <william@wilbur.25thandClement.com> - 2012-09-29 17:42 -0700
Re: Safe accesses of global arrays in signal handlers? Markus Elfring <Markus.Elfring@web.de> - 2012-09-30 14:04 +0200
Re: Safe accesses of global arrays in signal handlers? Rainer Weikusat <rweikusat@mssgmbh.com> - 2012-09-25 13:27 +0100
csiph-web