Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!)
От
Greg Stark
Тема
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin!
Thanks, reviewers!)
Дата
Msg-id
AANLkTimJCK9GrU_qmNrGWZtqg8n92_OBFqHGrNuOCz_i@mail.gmail.com
Ответ на
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) (Heikki Linnakangas)
Список
Дерево обсуждения
CommitFest 2009-07: Yay, Kevin! Thanks, reviewers! Robert Haas <robertmhaas@gmail.com>
Re: CommitFest 2009-07: Yay, Kevin! Thanks,
reviewers! "Kevin Grittner" <Kevin.Grittner@wicourts.gov>
Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers! Greg Smith <greg@2ndquadrant.com>
Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers! Robert Haas <robertmhaas@gmail.com>
Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers! Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers! Alvaro Herrera <alvherre@commandprompt.com>
Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers! Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers! Magnus Hagander <magnus@hagander.net>
Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers! Tom Lane <tgl@sss.pgh.pa.us>
Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers! Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers! Tom Lane <tgl@sss.pgh.pa.us>
Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers! Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers! Tom Lane <tgl@sss.pgh.pa.us>
Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers! Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers! tomas@tuxteam.de
Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers! Tom Lane <tgl@sss.pgh.pa.us>
Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers! Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers! Tom Lane <tgl@sss.pgh.pa.us>
Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers! Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) Tom Lane <tgl@sss.pgh.pa.us>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) Tom Lane <tgl@sss.pgh.pa.us>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) Alvaro Herrera <alvherre@commandprompt.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Fujii Masao <masao.fujii@gmail.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Fujii Masao <masao.fujii@gmail.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Fujii Masao <masao.fujii@gmail.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Fujii Masao <masao.fujii@gmail.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) Tom Lane <tgl@sss.pgh.pa.us>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) Tom Lane <tgl@sss.pgh.pa.us>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) Tom Lane <tgl@sss.pgh.pa.us>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) Tom Lane <tgl@sss.pgh.pa.us>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) Tom Lane <tgl@sss.pgh.pa.us>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Markus Wanner <markus@bluegap.ch>
Re: Interruptible sleeps (was Re: CommitFest 2009-07:
Yay, Kevin! Thanks, reviewers!) Martijn van Oosterhout <kleptog@svana.org>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) Tom Lane <tgl@sss.pgh.pa.us>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) Tom Lane <tgl@sss.pgh.pa.us>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Markus Wanner <markus@bluegap.ch>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) Tom Lane <tgl@sss.pgh.pa.us>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Markus Wanner <markus@bluegap.ch>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Markus Wanner <markus@bluegap.ch>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) Tom Lane <tgl@sss.pgh.pa.us>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Markus Wanner <markus@bluegap.ch>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Markus Wanner <markus@bluegap.ch>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) Tom Lane <tgl@sss.pgh.pa.us>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07:
Yay, Kevin! Thanks, reviewers!) Jeff Davis <pgsql@j-davis.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) Tom Lane <tgl@sss.pgh.pa.us>
Re: Interruptible sleeps (was Re: CommitFest 2009-07:
Yay, Kevin! Thanks, reviewers!) Jeff Davis <pgsql@j-davis.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) Tom Lane <tgl@sss.pgh.pa.us>
Re: Interruptible sleeps (was Re: CommitFest 2009-07:
Yay, Kevin! Thanks, reviewers!) Jeff Davis <pgsql@j-davis.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07:
Yay, Kevin! Thanks, reviewers!) Jeff Davis <pgsql@j-davis.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07:
Yay, Kevin! Thanks, reviewers!) Jeff Davis <pgsql@j-davis.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Fujii Masao <masao.fujii@gmail.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) Tom Lane <tgl@sss.pgh.pa.us>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Fujii Masao <masao.fujii@gmail.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) Tom Lane <tgl@sss.pgh.pa.us>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Robert Haas <robertmhaas@gmail.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) Tom Lane <tgl@sss.pgh.pa.us>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Ron Mayer <rm_pg@cheapcomplexdevices.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Robert Haas <robertmhaas@gmail.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Robert Haas <robertmhaas@gmail.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) Tom Lane <tgl@sss.pgh.pa.us>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin!
Thanks, reviewers!) Greg Stark <gsstark@mit.edu>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Robert Haas <robertmhaas@gmail.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) Tom Lane <tgl@sss.pgh.pa.us>
Re: Interruptible sleeps (was Re: CommitFest 2009-07:
Yay, Kevin! Thanks, reviewers!) Simon Riggs <simon@2ndQuadrant.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Robert Haas <robertmhaas@gmail.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Greg Smith <greg@2ndquadrant.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) Tom Lane <tgl@sss.pgh.pa.us>
Re: Interruptible sleeps (was Re: CommitFest
2009-07: Yay, Kevin! Thanks, reviewers!) Bruce Momjian <bruce@momjian.us>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Greg Smith <greg@2ndquadrant.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin!
Thanks, reviewers!) Greg Stark <gsstark@mit.edu>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay,
Kevin! Thanks, reviewers!) Robert Haas <robertmhaas@gmail.com>
Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!) Tom Lane <tgl@sss.pgh.pa.us>
On Fri, Sep 3, 2010 at 9:20 PM, Heikki Linnakangas wrote: > So we now have the same process nested twice inside a semop() call. Looking > at the Linux signal (7) man page, it is undefined what happens if semop() is > re-entered in a signal handler while another semop() call is happening in > main line of execution. Assuming it somehow works, which semop() call is > going to return when the semaphore is incremented? > Fwiw I wouldn't be too worried about semop specifically. It's a syscall and will always return with EINTR. What makes functions async-unsafe is when they might do extra processing manipulating data structures in user space such as mallocing memory. POSIX seems to be giving semop license to do that but realistically I can't imagine any implementation doing so. What I might wonder about is what happens if the signal is called just after the semop completes or just before it starts. And someone mentioned calling elog from within the signal handler -- doesn't elog call palloc() and sprintf? That can't be async-safe. -- greg
В списке pgsql-hackers по дате отправления