| Quote: |
| BSD, Unix dünyasında hayli popüler FreeBSD, OpenBSD ve NetBSD gibi varyantları olan bir sistem; aynı zamanda Mac OS X'in temellerini de oluşturuyor. Tüm BSD'leri etkileyen bir hatanın giderilmesi sırasında hatanın yaklaşık 25 yıldır BSD'lerde bulunduğu ve hatta bilindiği keşfedilmiş.
OpenBSD geliştirmesiyle yakından ilişkili İsviçreli bir geliştirici olan Marc Balmer hatayı araştırırken tüm BSD varyantlarında rastlamakla kalmayıp, bunların çok eski sürümlerinde de bulunduğunu farketmiş. Hatanın keşfi aslında Samba'nın MS-DOS için biçimlendirilmiş bir dosya sisteminde kullanıldığında çöktüğünü söyleyen bir OpenBSD kullanıcısıyla başlıyor. Samba, Windows ağları için dosya sunucusu görevi üstlenen açık kaynak bir ağ sunucu yazılımı. Araştırırken Balmer sorunun Samba'dan değil, doğrudan OpenBSD'den geldiğini görmüş. Hata kabaca *dir() türündeki komutlarda; mesela telldir() veya seekdir(). Bu komutlar dizinler üzerinde işlemler gerçekleştiriyor. Denemeler sırasında telldir() komutunun, dosyaların belli bir noktada silinmesi üzerine hata döndürüp programların çökmesine neden olabildiği anlaşılıyor. Samba örneğinde aslında Samba geliştiricilerinin bu konuda bir "workaround" kullanmaktalarmış. Balmer, ilk *dir() komut grubu kütüphanesinin yazarı Kirk McKusick'in bir e-postasından da bahsetmiş; McKusick'e göre hata pekala ilk dir() kütüphanesinden beri ortalarda olabilir. Sorunun 25 yılda çözümlenmiş olması ise hatanın sık sık ortaya çıkmıyor olması ve Samba gibilerinin hatanın etrafından dolaşmanın yollarını bulmuş olmalarına bağlanıyor. |
(pclabs)
