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のカーネルが搭載されてないのが原因な気がします。
たぶんです。