[過去ログ] 【Bash】Windows Subsystem for Linux【WSL】3 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
990(1): login:Penguin [sage] 2018/11/09(金) 14:38:57.87 ID:30xrhl21(1/5) AAS
Bzでの再現手順教えてくださいな
wsl上のemacsでc:/wsl/test.txtを開いたまま
win上のBz162でc:/wsl/test.txt開いてみたけど
問題なく開けるのでどうすればいいのかわからない
992(1): login:Penguin [sage] 2018/11/09(金) 15:22:02.65 ID:30xrhl21(2/5) AAS
>>991991(2): login:Penguin [sage] 2018/11/09(金) 15:03:07.22 ID:3WMswF4A(3/7) AAS
>>988
書き込み側、読み込み側、どちらかが優先されるべきかは
それはアプリ次第であって、こうすべきと決めつけるものでもないでしょう。
起動中の読み取りアプリを犠牲にしてでも書き込み優先するという割り切り方もある。
>>990
後学のためにmecabをインストールしてみては?
mecabでの再現の手順教えてもらえますか?
それよりはBzのほうが簡単だと思ったので、Bzで訪ねたんですけど
994: login:Penguin [sage] 2018/11/09(金) 15:54:06.61 ID:30xrhl21(3/5) AAS
>>993993(1): login:Penguin [sage] 2018/11/09(金) 15:34:43.90 ID:3WMswF4A(4/7) AAS
>>992
以下のプログラムをWSLでコンパイルし、第一引数に開きたいファイルパスを渡して実行してください。
次に、Windows側で同じファイルをBzで開こうとすれば再現します。なお、当方は64bit版Windows10。
使っているWSLはUbuntu 18.04.1 LTS
#include <cstdio>
#include <unistd.h>
#include <fcntl.h>
#include <sys/mman.h>
int main(int argc, char* argv[])
{
const char* filename = argv[1];
int fd = ::open(filename, O_RDONLY);
int prot = PROT_READ;
char *p = reinterpret_cast<char *>(::mmap(0, 1024, prot, MAP_SHARED, fd, 0));
printf("%s %d %p\n", filename, fd, p);
fputs("input [ENTER].\n", stdout);
fgetc(stdin);
::close(fd);
fputs("bye.", stdout);
return 0;
}
ありがと
wsl内部でファイルをreadonlyで開いても、windows側からはSHARE_RWで開いたとみなされて
SHARE_Rだけのcreatefileだとコケるという話ですね
fall 2018 updateでwslfsへ変換した環境でも再現できた
996: login:Penguin [sage] 2018/11/09(金) 16:00:31.66 ID:30xrhl21(4/5) AAS
たててみる
998: login:Penguin [sage] 2018/11/09(金) 16:03:55.61 ID:30xrhl21(5/5) AAS
次スレ
Bash】Windows Subsystem for Linux【WSL】4
2chスレ:linux
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.249s*