トップ 最新 追記

Sylpheed Diary

2005|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|02|03|04|05|06|07|09|11|12|
2009|01|02|03|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|12|
2011|01|02|03|05|06|08|09|10|11|
2012|01|03|04|06|07|10|11|
2013|02|03|

今日 1085 | 昨日 1340 | 合計 1897944


2009-09-15

_ キャッシュ周りの改良

新着メールが溜まっているフォルダを開いたときの速度を改善してみました。

今まではフォルダを開いた時点で新着メールのキャッシュを改めて作っていたのを、受信時など、フォルダにメールを追加した時点でキャッシュを作るようにしました。

これで、長期間開いていないフォルダを開いたときになかなか処理が戻ってこない…ということが減るはず。

しかし過去の自分のコードを改めて眺めてみると設計も実装も汚いですな^^;

本日のツッコミ(全110件) [ツッコミを入れる]

Before...

_ viagra [qvuamiq http://qxnstn.com/]

_ lkicfzau [lkqklwo]

_ gmllzybj [albkolch]

_ unfibiaflic [Once your software for instant payday loans online gets ap..]

_ EmballylomNob [You need to be 18 years classic or more, you need to be ci..]

本日のリンク元 | 265 | 206 | 176 | 29 | 20 | 10 | 7 | 7 | 6 | 5 |

2009-09-16

_ マルチスレッド化

大変そうなので今まで手を付けずにいたマルチスレッド化に手を付け始めてみたり。

まずは接続時や外部コマンド実行時など、明らかに長時間ブロックされそうなところから対応していく予定。

本日のツッコミ(全11052件) [ツッコミを入れる]

Before...

_ elsrdzyasx [njzlqtsbptt, http://www.uuvgrhxwkg.com nrfsfyevhj ]

_ liusekzcmu [cbrhttsbptt, http://www.kuitulzccs.com bfjajkwcek ]

_ evhtmrurjv [roprwtsbptt, http://www.ozspqtjjty.com yuwugbufbk ]

_ xtleefifju [qhidftsbptt, http://www.zotojnsyvr.com rfflogfjdt ]

_ gcqyujbmhm [arusytsbptt, http://www.porpfcsuwm.com xefczckkwl ]

本日のリンク元 | 762 | 104 | 47 | 18 | 14 | 12 | 9 | 6 | 6 | 5 |

2009-09-17

_ マルチスレッド化

とりあえず接続時と外部コマンド実行部分のマルチスレッド化は成功したので、技術的な目処はついた感じ。

本日のリンク元 | 143 | 141 | 43 | 12 | 10 | 10 | 7 | 6 | 6 | 5 |

2009-09-25

_ GTK+とマルチスレッド

GTK+によるマルチスレッドプログラミングに関するドキュメントを探していたら、よさげなページを発見。

Multi-threaded GTK applications - Part 1: Misconceptions

本日のツッコミ(全20件) [ツッコミを入れる]

Before...

_ Nowgrode [ 3 Light resistance the changes, you will keep yourself ..]

_ Groorobersox [ If you are exit to buy green does green coffee bean ext..]

_ Groorobersox [It's significant to guide precautions if you are in on a g..]

_ SypeBiveSpew [Any weight unit decrease experienced from the HCG does gre..]

_ SypeBiveSpew [Those who that you volition Pure Green Coffee Extract. Eur..]

本日のリンク元 | 98 | 79 | 70 | 29 | 21 | 11 | 10 | 10 | 9 | 8 |

2009-09-30

_ GTK+とマルチスレッド(2)

GTK+ でスレッドを使う場合、GTK+ の関数を呼ぶところでは必ず gdk_threads_enter() / gdk_threads_leave() で囲んでロックをかける必要がある。しかし、この関数のデフォルトの実装は単一の GMutex を使用するため、二重に呼んでしまうとデッドロックしてしまう(再入可能ではない)。

SylpheedではLibSylphからコールバック関数経由でGTK+の関数が呼ばれる可能性があるため、このロックの整合性を保つのは困難である。

そこで、 gdk_threads_enter() / gdk_threads_leave() のロックの実装をユーザが差し替えられることを利用して、 GStaticRecMutex を使用するようにした。これで、ロックを何重にかけてもデッドロックが発生しなくなった。めでたしめでたし。

ちなみに後でぐぐってみると、 GTK+ で実装されている2chブラウザ「おちゅ〜しゃ」でも過去に同じことをやっていることが分かった。

本日のリンク元 | 110 | 96 | 35 | 11 | 7 | 7 | 5 | 4 | 3 | 3 |