LKML Archive on
help / color / mirror / Atom feed
Subject: Re: BUG (non-kernel), can hurt developers.
Date: Fri, 28 Nov 2003 11:29:57 +0100 (MET)	[thread overview]
Message-ID: <> (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

       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().


             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 ` 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:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \ \ \
    --subject='Re: BUG (non-kernel), can hurt developers.' \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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).