Reading Gauche/Reading Gauche 0.9/gc/include/private/gcconfig.h/IF_CANCEL の変更点



 #setlinebreak(on)
 #topicpath
 *IF_CANCEL [#ya0bdfb9]
 *概要 [#i2a61790]
 キャンセルのリクエスト(POSIX)が、コレクタ動作中に無視するために使用されるマクロ。CALCEL_SAFEが定義されていた場合は、括弧中の式が実行される。そうでない場合、無視される。
 
  # if defined(UNIX_LIKE) && defined(THREADS) && !defined(NO_CANCEL_SAFE)
     /* Make the code cancellation-safe.  This basically means that we	*/
     /* ensure that cancellation requests are ignored while we are in	*/
     /* the collector.  This applies only to Posix deferred cancellation;*/
     /* we don't handle Posix asynchronous cancellation.			*/
     /* Note that this only works if pthread_setcancelstate is 		*/
     /* async-signal-safe, at least in the absence of asynchronous	*/
     /* cancellation.  This appears to be true for the glibc version, 	*/
     /* though it is not documented.  Without that assumption, there	*/
     /* seems to be no way to safely wait in a signal handler, which	*/
     /* we need to do for thread suspension.				*/
     /* Also note that little other code appears to be cancellation-safe.*/
     /* Hence it may make sense to turn this off for performance.	*/
  #   define CANCEL_SAFE
  #   define IF_CANCEL(x) x
  # else
  #   define IF_CANCEL(x)
  # endif
 
 *参照元 [#f7dc029d]
 #related
 
 *コメント [#gaa8e426]
 #pcomment(,1000,below,reply)
 

リロード   新規 編集 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS

Modified by mona
PukiWiki 1.4.6 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji
Powered by PHP 5.2.17
HTML convert time to 0.016 sec.