From: Andries.Brouwer@cwi.nl
To: szepe@pinerecords.com, torvalds@osdl.org
Cc: Andries.Brouwer@cwi.nl, linux-kernel@vger.kernel.org,
root@chaos.analogic.com
Subject: Re: BUG (non-kernel), can hurt developers.
Date: Fri, 28 Nov 2003 11:29:57 +0100 (MET) [thread overview]
Message-ID: <UTC200311281029.hASATvD16681.aeb@smtp.cwi.nl> (raw)
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2113 bytes --]
> I believe it would be very useful to have this information included
> in the standard Linux signal(2) manpage.
OK. You might have included a patch. I made it say
The effects of this call in a multi-threaded process are
unspecified.
The routine handler must be very careful, since processing
elsewhere was interrupted at some arbitrary point. POSIX
has the concept of "safe function". If a signal inter
rupts an unsafe function, and handler calls an unsafe
function, then the behavior is undefined. Safe functions
are listed explicitly in the various standards. The POSIX
1003.1-2003 list is
_Exit() _exit() abort() accept() access() aio_error()
aio_return() aio_suspend() alarm() bind() cfgetispeed()
cfgetospeed() cfsetispeed() cfsetospeed() chdir() chmod()
chown() clock_gettime() close() connect() creat() dup()
dup2() execle() execve() fchmod() fchown() fcntl() fdata
sync() fork() fpathconf() fstat() fsync() ftruncate()
getegid() geteuid() getgid() getgroups() getpeername()
getpgrp() getpid() getppid() getsockname() getsockopt()
getuid() kill() link() listen() lseek() lstat() mkdir()
mkfifo() open() pathconf() pause() pipe() poll()
posix_trace_event() pselect() raise() read() readlink()
recv() recvfrom() recvmsg() rename() rmdir() select()
sem_post() send() sendmsg() sendto() setgid() setpgid()
setsid() setsockopt() setuid() shutdown() sigaction()
sigaddset() sigdelset() sigemptyset() sigfillset() sigis
member() sleep() signal() sigpause() sigpending() sigproc
mask() sigqueue() sigset() sigsuspend() socket() socket
pair() stat() symlink() sysconf() tcdrain() tcflow()
tcflush() tcgetattr() tcgetpgrp() tcsendbreak() tcse
tattr() tcsetpgrp() time() timer_getoverrun() timer_get
time() timer_settime() times() umask() uname() unlink()
utime() wait() waitpid() write().
Andries
next reply other threads:[~2003-11-28 10:30 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-11-28 10:29 Andries.Brouwer [this message]
2003-11-28 17:22 ` BUG (non-kernel), can hurt developers Chris Friesen
-- strict thread matches above, loose matches on Subject: below --
2003-11-28 21:21 Andries.Brouwer
2003-11-28 21:38 ` Chris Friesen
2003-11-26 16:54 Richard B. Johnson
2003-11-26 17:21 ` YOSHIFUJI Hideaki / 吉藤英明
2003-11-26 18:29 ` Linus Torvalds
2003-11-26 18:55 ` Richard B. Johnson
2003-11-26 19:33 ` Jamie Lokier
2003-11-26 20:17 ` Richard B. Johnson
2003-11-26 20:42 ` Jamie Lokier
2003-11-26 18:59 ` YOSHIFUJI Hideaki / 吉藤英明
2003-11-27 20:41 ` Mikulas Patocka
2003-11-28 7:18 ` Tomas Szepe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=UTC200311281029.hASATvD16681.aeb@smtp.cwi.nl \
--to=andries.brouwer@cwi.nl \
--cc=linux-kernel@vger.kernel.org \
--cc=root@chaos.analogic.com \
--cc=szepe@pinerecords.com \
--cc=torvalds@osdl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).