Váš ioctl na /devices/pseudo/[email protected]:poll
zařízení (nebo /dev/pool
) se zdá být zpracována funkcí jádra ze souboru common/io/devpoll.c (online kopie - http://fxr.watson.org/fxr/source/common/io/devpoll.c?v=OPENSOLARIS
)
Přesnější pomocí dpioctl
funkce:
692 dpioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, int *rvalp)
zhihuifane, po kontrole vašeho stacktrace vidím, že váš program byl proveden:
main() -> ... nteveque() -> ioctl()
Poté byl zavolán signálový ovladač. Nevidím žádné odesílání signálů z dpioctl, takže si myslím, že signál byl odeslán nějakou externí funkcí (nebo programem nebo uživatelem):
--- called from signal handler with signal 0 (SIGEXIT) ---
Poté byl zavolán ovladač signálu v uživatelském prostoru:
sigacthandler -> call_user_handler -> __sighndlr
-> sslsstehdlr
sslsstehdlr
provedl mnoho akcí a podle mých znalostí a standardů POSIX ("2.4 Koncepce signálu"
z The Open Group Base Specifications Issue 6; IEEE Std 1003.1, 2004 Edition), obsluha signálu může volat pouze (přímo nebo nepřímo) funkce uvedené v tabulce
... obrovský seznam, ale není tam žádný ptherad_sigmask
zde...