Potというかstraceもどきですが、wait系の実装がかなり難しいことがわかりました。fork系には完全に対応できたと思います。
forkすると親にシグナルが行く前に、子にシグナルが来たりします。前の実装だと、子プロセスが存在しない状態(親プロセスのforkを処理していない状態)で、子にシグナルが来ると捨てていたため、そこでハングアップしてた…。とりあえず行き先のわからないやつは保留するようにして解決しました。
PTRACE_TRACEMEをすると最初にSIGSTOPが来るはずなのですが、その前にforkの出口にきましたよというSIGTRAPが来たりします。PTRACE_ATTACHでforkに対応しているアプリケーションは最初のシステムコールを取りこぼしている可能性が大きいです。
< | 2005 | > | ||||
<< | < | 09 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
- | - | - | - | 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | - |
合計:
本日:
管理者: Katsuhiro Suzuki(katsuhiro( a t )katsuster.net)
This is Simple Diary 1.0
Copyright(C) Katsuhiro Suzuki 2006-2023.
Powered by PHP 8.2.15.
using GD bundled (2.1.0 compatible)(png support.)