じゅぴの記録帳

いったイベントや勉強したこと等を記録するブログです 間違ってるとこあれば指摘お願いします

WSLでfcntl(sock,F_SETOWN,getpid())が実行できない

状況

TCP/IPソケットプログラミングの87ページを
VSCode+WSL+Ubuntuでやってるときに発生

発生したもの

if(fcntl(sock,F_SETOWN,getpid())<0)
   {
       //エラー エラー処理
   }   `

上記の処理でifの中に入ってしまう。

解決方法

Windows Subsystem for Linuxで開発環境を整えた · 遺言書のような記事も
見つけたのですが理由がわからず悩んだ末に
WSLをWSL2に変更したらいけました。
Linuxの知識がとても不足してるのではっきりとはわからない
のですが、WSLにLinuxカーネルが搭載されてないのが原因な気がします。
たぶんです。