Skip to content
TopicTracker
出典 HackerNews原文を表示
翻訳言語翻訳言語

Airlock – fork()を使わないmacOS上のSwift向けクラッシュ分離

Airlockは、fork()を使わずにmacOS上のSwiftアプリケーションでクラッシュ分離を実現するライブラリ。プロセスレベルの隔離を提供し、サブプロセスがクラッシュしてもメインプロセスに影響を与えないようにすることで、信頼性を向上させる。

背景メモ

- Airlock は macOS 上の Swift アプリでクラッシュが発生しても、プロセス全体を落とさずに安全に復帰できる仕組みを提供する OSS ライブラリ。従来は fork() システムコールで実現していた分離機構を、fork() を使わずに macOS 上で実装した点が最大の特徴。 - fork() は macOS で不安定だったり使えない場面が多く(例えば App Sandbox 下や一部の Dispatch と相性が悪い)、現実的な代替が求められていた。Airlock はプロセス内に「隔離ゾーン(ロック)」を作り、そこで実行したコードがクラッシュしてもメインプロセスに影響を及ぼさない。 - Swift のエコシステムで「プロセス丸ごと保護」という発想は珍しい。同種の仕組みは Android の IsolatedProcess や Web ブラウザの Site Isolation に近いが、Airlock はそれを macOS ネイティブアプリのレイヤーで可能にした。 - 作者 Maxim Kotliar は Swift と分散システム周辺で活動する開発者。このプロジェクトはまだ実験的で、本番利用には注意が必要。

関連記事

  • The article criticizes the declining quality of macOS app icon design, arguing that Apple's push toward uniform squircle shapes and simplified aesthetics has made modern icons look worse than older, more distinctive designs. It notes that even third-party developers are constrained by Apple's rules, while a few apps like BBEdit and Fantastical still maintain strong icon identities.