2017-03-08 8 views
1

コードproc.hUNIXプロセスのフラグコード "SWTED"の意味?

はおそらくstatを意味します。 WTEDはどうですか?それは単語watchedの略語ですか?

+0

このコード片の源は何ですか?文脈なしで知るのは難しいです。 – fluter

+1

「待ち」、ちょうど推測。 – Ripple

+1

'wait()'に設定されているようです。 http://www.tom-yam.or.jp/2238/src/sys1.c.html – Ripple

答えて

4

UNIX 7でSWTEDフラグが2つの場所で使用されます。プロセスが停止した場合

  1. Inside ptrace()を、SWTEDフラグは、子プロセス

    ​​
  2. Inside wait()を実行する前にクリアされます(トレースされます)、SWTEDフラグがクリアされると、フラグがセットされ、そのPIDと信号が戻されます。 SWTEDを意味

    wait() 
    { 
        ... 
        if(p->p_stat == SSTOP) { 
         if((p->p_flag&SWTED) == 0) { 
          p->p_flag |= SWTED; 
          u.u_r.r_val1 = p->p_pid; 
          u.u_r.r_val2 = (fsig(p)<<8) | 0177; 
          return; 
         } 
         continue; 
        } 
        ... 
    } 
    

がトレース処理がwait()で使用される場合に最も可能性の高い wはを意味し、したがって、設定テッドを愛されます。 (名前を使用することはできませんのでSWAITはすでに存在しています。)