タグ

ブックマーク / s-kita.hatenablog.com (4)

  • Win32API ウィンドウの情報を取得する GetWindowInfo - s-kita’s blog

    ウィンドウの情報を得るには、GetWindowInfo関数を用いる。 GetWindowInfo関数のプロトタイプは、以下の通り。 BOOL GetWindowInfo( HWND hwnd, PWINDOWINFO pwi ); 第二引数のWINDOWINFO構造体は、WinUser.h にて、以下のように定義されている。 typedef struct tagWINDOWINFO { DWORD cbSize; RECT rcWindow; RECT rcClient; DWORD dwStyle; DWORD dwExStyle; DWORD dwWindowStatus; UINT cxWindowBorders; UINT cyWindowBorders; ATOM atomWindowType; WORD wCreatorVersion; } WINDOWINFO, *PWIND

    Win32API ウィンドウの情報を取得する GetWindowInfo - s-kita’s blog
  • Pthread - Mutexでプロセス間排他制御を行う - s-kita’s blog

    使用するシステムコール、API Mutex関連 #include <pthread.h> int pthread_mutex_init( pthread_mutex_t *mutex, const pthread_mutexattr_t *attr); int pthread_mutex_lock(pthread_mutex_t *mutex); int pthread_mutex_unlock(pthread_mutex_t *mutex); int pthread_mutex_destroy(pthread_mutex_t *mutex); Mutex属性関連 #include <pthread.h> int pthread_mutexattr_init(pthread_mutexattr_t *attr); int pthread_mutexattr_destroy(pthread_

    Pthread - Mutexでプロセス間排他制御を行う - s-kita’s blog
    iww
    iww 2015/03/17
    プロセス跨ぎたいときは pthread_mutexattr_setpshared(&mattr, PTHREAD_PROCESS_SHARED);
  • POSIXシグナル2 - s-kita’s blog

    同じシグナルがほぼ同時に複数配送される場合 シグナルハンドラを設定してwaitを呼び出すだけでは、ゾンビ防止には不十分。Unixのシグナルはキューイングされないために、シグナルが発生した数だけ、シグナルハンドラが実行されない場合があるから。 正しい解決方法は、waitの代わりにwaitpidを呼び出すこと。 //waitpidを呼び出すシグナルハンドラ void sig_child(int signo) { pid_t pid; int stat; while ( (pid = waitpid(-1, &stat, WNOHANG)) > 0) printf("child %d terminated\n", pid); return; } ネットワークプログラミングで遭遇する3種類の状況1.子プロセスをforkするプログラムでは、SIGCHLDシグナルを捕捉しなければならない。 2.シグナ

    POSIXシグナル2 - s-kita’s blog
  • Posixメッセージキュー - s-kita’s blog

    Introductionメッセージキューは、メッセージのリンク構造と考えることが出来る 各メッセージはレコードであり、各メッセージには送信側が指定した優先度が付いている。 メッセージの書き込みに際しては、そのキューにおいて何らかのプロセスがメッセージの到着を待っていることが要求されない。(パイプと対照的) メッセージキューはパイプと異なり、カーネル持続性(kernel persistence)を持つ。(パイプ、FIFOでは、それらが最後にクローズされる際に、残っているデータは破棄される。) PosixメッセージキューとSystem V メッセージキューの違いPosixメッセージキューからの読み出しは、常に最も高い優先度の最も古いメッセージを返す。System V メッセージキューでは、任意の優先度のメッセージを読み出すことが出来る。 Posixメッセージキューでは、空のキューにメッセージが

    Posixメッセージキュー - s-kita’s blog
  • 1